玩转微服务架构和新特性,看这一篇就够了!(学习笔记第三弹:注册中心)
开发者学堂课程【5天突破 Spring Cloud:微服务架构、新特性与注册中心】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/781/detail/13700
微服务架构、新特性与注册中心
前端:APP或者小程序
后端:开发的服务接口
数据库一般情况下需要拆分
三.服务注册与发现
Java Spring Cloud 也是目前最完善、互联网公司使用最多的一套微服架构解决方案,它是打包的一系列解决方案,包括几十个框架。
后面 J 语言等仿 Spring Cloud 开发,比 Java 晚了好几年,涉及到生态问题。
阿里开源的 Spring Cloud alibaba一系列关于微服务改进的技术框架 也贡献给了 Spring Cloud 。早期主要是 Spring Cloud Netfix ,后续发展在该框架的基础上进行迭代,后面阿里也加入了开发。
其中涉及到很多技术组件,微服务除了开发服务接口,很多 服务要有集群的概念,以后同样的订单服务可能上线三台、五台或者更多,这些服务需要统一的注册地址、注册中心来实施管理。
Netfix 早期提供了 Eureka,是Netfix 开发的贡献给社区的服务注册、管理的一套技术框架。
企业可能没有使用最新版本的开发软件,大部分高速可能使用2.1,2.2,而2.4,2.5可能还没有升级到,从2020年年末,Spring Cloud 的某些组件 Netfix 公司不再维护,推出了一些替代性的方案。
1.大规模微服务集群架构( 服务监控 服务注册 服务查找)
2.许多客服实例
3.客户端要找到自己调用的服务
4.新服务上线:平时与双十一并发不同,平时可能需要两台,双十一可能需要一百台,服务地址动态变化,需要专门的技术组件,来灵活管理大规模的服务状态。Netfix 公司做了一套基于 Java 的独立技术框架,Eureka。
5.某个服务宕机,下线
6.实时监控服务状态
四.Spring Cloud Eureka 服务发现与注册
1.Netflix 公司开源的项目
2.Eureka:注册中心,
3.一个基于 REST 的中心服务,管理服务,
4.实现云端的服务注册和服务发现。
5.Eureka 组件组成: Eureka服务器和Eureka客户端
6. 竞争对手 ZooKeeper
7.服务发现模块(Eureka)是 Netflix 的核心
8.Spring Cloud Netflix 提供的简化开发模板
9. 直接使用 spring boot, 创建项目
10.添加@ EnableEurekaServer 开发注册服务中心
11.Eureka源码分析
●Eureka通信基于Http(s)协议的框架
●纯正的servlet应用,需构建成war包部署
●使用了Jersey框架实现自身的RESTful HTTP接口
● peer之间的同步与服务的注册全部通过HTTP协议实现
●定时任务(发送心跳、定时清理过期服务、节点同步等)通过JDK自带的Timer实现
●内存缓存使用Google的guava包实现
五.Eureka 注册中心开发实战
1.Spring Eureka注册中心
①创建Eureka服务注册中心项目
②添加@ EnableEurekaServer
③将spring boot应用改造成Eureka服务注册中心
④ application. properties增加配置
⑤打包项目
⑥运行
⑦测试页面
⑧参考
https://spring.io/guides/gs/service-registration-and-discovery/
2.Application.properties 配置
▪ server.port=8761
▪ eureka.client.register-with-eureka=false
▪ eureka.client.fetch-registry=false
▪eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
▪ logging.level.com.netfix.eureka=OFF
▪ logging.level.com.netfix.discover=OFF