Spring Cloud 里 Eureka 什么是微服务及微服务的特点

时间 : 2020-09-04
点击次数 : 144

      1.什么是微服务/微服务的特点

      单一职责: 微服务中的每一个服务都对应唯一的业务能力, 做到单一职责

      微: 微服务的服务拆分粒度很小, 列如一个用户管理就可以作为一个服务, 每个服务虽小, 但五脏俱全

      独立: 自治是说服务间相互独立, 互不干扰

      团队独立: 每个服务都是一个独立的开发团队, 人数不能过多

      技术独立: 每个服务都是面向服务, 提供Rest接口, 使用什么技术没有别人干涉

      前后端分离: 采用前后端分离开发, 提供统一Rest接口, 后端不用再为PC, 移动端开发不同接口

      数据库分离: 每个服务都是使自己的数据源

      部署独立:服务间虽然有调用, 但能做到服务重启不影响其他服务, 有利于持续

      集成和持续交付, 每个服务都是独立的组件, 可复用, 可替换 ,降低耦合,易维护,与集群 Docker服务

      2.不适用Eureka注册中心的情况下,分布式必然面临哪些问题

      服务管理

      1- 如何自动注册和发现服务

      2- 如何实现服务状态的监管

      3- 如何实现动态路由, 从而实现负载均衡

      服务如何实现负载均衡

      服务如何解决容灾问题

      服务如何实现统一配置

      什么是高可用? 分布式 集群 负载均衡?

      高可用

      就算是在极端环境下, 也可以正常提供服务, 哪怕是网坏了

      如何使用高可用?

      集群: (也就是说集群中的一些服务挂了, 也就可以继续正常提供服务)

      分布式 , 集群 , 负载均衡的关系?

      分布式: 把一个大项目, 根据业务需求拆分多个服务, 分布式开发, 最终部署的时候也就是分布式部署

      集群: 把同一份代码 部署在N台服务器上

      负载均衡: 把请求分摊到多台服务器上

      集群之后, 必须负载均衡 想要负载均衡 ,必须集群.

      3.Eureka的工作原理

      Eureka : 就是服务注册中心(可以是一个集群), 对外暴露自己的地址

      提供者: 启动后向Eureka注册自己的信息(地址,提供服务)

      消费者:向Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发送消费者,并且定期更新

      心跳(续约):提供者定期通过http方式向Eureka刷新自己的状态

      4. 什么是服务注册

      服务提供者在启动时,会向EurekaService发起一次请求,将自己注册到Eureka注册中心去

      5.什么是服务续约

      在注册服务完成以后,服务提供者会维持一个心跳(每30秒定时向EurekaService发起请求), 告诉EurekaService “我还活着”. 这个我们称为服务的续约(renew)

      6.什么是剔除

      有些时候, 我们的服务提供方并不一定会正常下线, 可能因为内存溢出,网络故障等原因导致服务无法正常工作, EurekeService需要将这样的服务剔服务列表. 因为他会开启一个定时任务, 每隔60秒对所有失效的服务(超过90秒未响应)进行剔除

      7什么是自我保护

      当一个服务未按时进行心跳续约时, 在生产环境下, 因为网络延迟等原因,此时就把服务剔除列表并不妥当,因为服务可能没有宕机, Eureka就会把当前实例的注册信息保护起来, 不予剔除, 生产环境下很有效, 保证了大多数服务依然可用

上一篇:web前端三大框架的相同之处、优缺点

上一篇:2020年中秋节及国庆节放假安排

友情链接:云联泰达OA开发
烟台网云网络科技有限公司 鲁ICP备14027327号-3

回到顶部