欢迎光临
我一直在奋斗

Spring微服务指南

Spring微服务简介:

首先Spring微服务是基于Spring-cloud平台开展的,而Spring-cloud又是基于Spring-boot平台。最后Spring-boot又是基于Spring的。是不是感觉这是多么奇妙的关系,也支持这spring家族的日益壮大。

Spring-Eureka服务:

这个服务是能够实现我们的分布式,集群式运行。提高了我们的应用的高可靠的以及通过Docker部署,极大的降低了单个服务的资源消耗和出现故障便于及时排除。说下需要避免的一些坑:pom要加上依赖:
<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>

application.yml文件里面注册到Eureka服务器必须要加上后缀/eureka才可以。fetchRegistry此客户端是否获取eureka服务器注册表上的注册信息。registerWithEureka:表示是否将自己作为客户端注册。当我们需要自己是服务器并注册自己的时候这个就为true。

Spring-Feign服务:

这是一个客户端负载均衡服务,当我们需要访问的时候,通过feign调用。能够通过名称调用。调用是基于注册到Eureka上的服务。我们可以注册多个服务,使用同一个名称。当我们调用的时候,系统会自动帮我们做好负载均衡工作。而这样做有缺点,如果2台服务器都挂了,或者网络原因以及其他自身原因,服务并不能保证百分之百可用,如何这个服务出现问题了,会导致调用这个服务出现线程阻塞。如果这个时候有大量的请求涌入,会导致线程资源被消耗完毕,导致整个服务瘫痪。接下来就需要断路器了。

Spring-Hystrix服务:

俗称断路器,是为了应付上面那种情况的,服务与服务之间的依赖会导致故障转播,引起严重后果。断路器打开后,能够在服务失效的时候返回一个固定值。只需要在pom中引入相应的依赖:

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
  </dependency>

在程序的启动类ServiceRibbonApplication 加@EnableHystrix注解开启Hystrix并在需要调用的方法上加上 @HystrixCommand(fallbackMethod = “回调方法名称”) 就可以了。而Feign是自带断路器的。@FeignClient(fallback=error.class,value=”eurekaclientname”)

Spring-Zuul服务:

中文名称路由网关服务,类似于路由的功能。我们只需要在配置文件中配置好对应的路由规则就好了。配合均衡负载简直不要太棒了。开启也非常简单:在其入口applicaton类加上注解@EnableZuulProxy,开启zuul的功能。然后配置application.yaml:

zuul:
  routes:
    api-a:
      path: /api-a/**
      serviceId: service-ribbon
    api-b:
      path: /api-b/**
      serviceId: service-feign

Spring-Cloud-Bus服务:

消息总线服务。通常我们使用的时rabbitmq和activemq来实现的这个功能。加上rabbitmq的依赖后。在yaml里面配置好。这个功能个人感觉结合stream推送会更加方便。非常适合微服务这种分布式的结构。发送方只管发送,后续的取出结果留给接收方以及进行下一步操作。对于事物的处理不要求同步性的可以考虑。打个比方,用户注册后需要发送邮件,红包等,这些都不是必须要马上完成的。我们完全可以放在队列中进行处理。先注册成功,然后发送邮箱,邮箱发送成功后向rabbitmq的一个队列发送消息。接收方接收到之后再发送红包,再发送消息到rabbitmq中。最开始的注册服务接收到消息,完成整个初始注册过程。

未经允许不得转载:奋斗者的足迹 » Spring微服务指南
分享到: 更多 (0)

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    快优化下你的文章排版

    依然慢节奏9个月前 (08-31)回复

奋斗者的足迹

联系我们加入我们