无锡网站设计开发,免费商用的网站模板,电商网页图片设计,发外链的平台有哪些今天是刘小爱自学Java的第134天。 感谢你的观看#xff0c;谢谢你。 image 学习内容安排如下#xff1a; SpringCloud的接触。利用SpringCloud搭建微服务架构#xff0c;当然这个估计要3天时间才能完成#xff0c;今天主要是注册中心Eureka的学习。 一、SpringCloud 微服务… 今天是刘小爱自学Java的第134天。 感谢你的观看谢谢你。 image 学习内容安排如下 SpringCloud的接触。利用SpringCloud搭建微服务架构当然这个估计要3天时间才能完成今天主要是注册中心Eureka的学习。 一、SpringCloud 微服务是一种系统架构方式最终肯定需要技术架构去实施我们使用的就是SpringCloud了不用多说看名称都知道又是Spring旗下的一个项目。 所以对于Java开发来说spring真是个绕不开的坎哪里都有它。 image 其主要涉及的组件包括Netflix Eureka注册中心Zuul服务网关Ribbon负载均衡Feign服务调用Hystix熔断器 这几天依次学习这些知识点。 二、Eureka注册中心 顾名思义注册中心的作用在于服务的管理记录服务提供者的信息。 1Eureka服务端 所有的服务都要在Eureka服务端上注册那如何让一个SpringBoot应用成为Eureka服务端呢 image ①引入eureka服务端依赖 这个依赖非常长记2个核心点 starter启动器的意思.erueka-server对应erueka的服务端有服务端肯定也会有客户端。 ②启动类开启eureka服务 EnableEurekaServer看这个注解的意思就能知道是开始前eureka服务。 也就是说该SpringBoot引用被作为了euerka服务端也就是前面说的管理服务的注册中心。 image ③配置注册中心地址 这里就是指它自己这是什么意思呢 eureka服务端是专门用来管理服务的所有的服务都要在它这个注册而它本身也是一个服务所以需要自己注册自己。 ④给服务命名 这个也好理解application翻译是应用在这里也就是一个服务给它命名为eureka-server。 2Eureka客户端服务的注册 比如user-service这个服务是用来查询和user相关数据的将该服务注册让其它服务都可以直接调用它。 image ①引入eureka客户端依赖 一样的2个核心点 starter启动器的意思。erueka-client对应erueka的客户端。 ②启动类开启eureka客户端 EnableEurekaClient同理确实也是有这个注册的开启eureka客户端。 不过这里使用EnableDiscoveryClient它功能要更加地强大。 3Eureka客户端服务的发现 上述服务注册了那另外的服务要直接使用它就称之为服务的发现。 既然是服务肯定也需要先完成注册一样的步骤导入依赖启动类上添加客户端注解。 image DiscoverClient也就是启动类上注解配置的客户端。 RestTemplate这个昨天详细学习过通过它可是实现服务之间的调用。 ①拉取服务 通过discoverClient的getInstances()方法可以拉取指定的服务。 ②负载均衡 利用负载均衡获取其中的一个服务因为我们这里总共就只有一个服务所以不需要利用负载均衡。 这个文章结尾会详细讲述到。 ③字符串占位符 通过restTemplate的getForObject()方法可以向指定的url发起get请求。 通过String的format()方法实现拼接将后面的ip端口和id拼接到%s这个占位符中。 4服务的调用测试 上述配置完成后就可以通过consumer-demo这个服务调用user-service这个服务了。 image 根据id去数据库查询对应的用户我们只在user-service服务中实现了service层和dao层的代码编写。 如果在consumer服务中要用直接调用user-service服务即可。 三、Eureka详解 Eureka架构中的三个核心角色 image ①服务注册中心 Eureka的服务端应用提供服务注册和发现功能也就是上述的eureka-server。 ②服务提供者 提供服务的应用可以是SpringBoot应用也可以是其它任意技术实现只要对外提供的是Rest风格服务即可。 也就是上述实现的user-service。 ③服务消费者 消费应用从注册中心获取服务列表从而得知每个服务方的信息知道去哪里调用服务方也就是我们实现的consumer-demo。 2服务续约 image lease-renewal-interval-in-seconds 服务续约的间隔默认为30秒renewal本身就是续约的意思。 lease-expiration-duration-in-seconds 服务失效时间默认值90秒expiration本身就是终结的意思 也就是说默认情况下每个30秒服务会向注册中心发送一次心跳证明自己还活着。 如果超过90秒没有发送心跳EurekaServer就会认为该服务GG了会从服务列表中移除。 这两个值在生产环境不要修改默认即可。 3负载均衡Ribbon 在刚才的案例中我们启动了一个user-service通过DiscoveryClient来获取服务实例信息获取ip和端口来访问。 但是实际环境中往往会开启很多个user-service。 此时我们获取的服务列表中就会有多个到底该访问哪一个呢 Eureka中已经帮我们集成了负载均衡组件Ribbon简单修改代码即可使用。 image ①开启负载均衡 通过LoadBanlanced注解即可开启负载均衡。 开启之后就可以直接使用了。 image ②url编写 开启负载均衡url中的ip和端口直接使用服务的名称使用即可。 最后 谢谢你的观看。 如果可以的话麻烦帮忙点个赞谢谢你。 © 著作权归作者所有,转载或内容合作请联系作者 平台声明文章内容如有图片或视频亦包括在内由作者上传并发布文章内容仅代表作者本人观点简书系信息发布平台仅提供信息存储服务 喜欢的朋友记得点赞、收藏、关注哦