1、什么是微服务/微服务的特点
答:
·单一职责:微服务中每一个服务都对应唯一的业务能力,做到单一职责
·微:微服务的服务拆分粒度很小,例如一个用户管理就可以作为一个服务。每个服务强小,但"五脏俱全”
·独立:服务间互相独立,互不干扰
·团队独立:每个服务都是一个独立的开发团队,人数不能过多。
·技术独立:面向服务,提供Rs接口,使用什么技术没有别人干涉
·前后端分离:采用前后端分离开发,提供统一Rs接口,后端不用再为PC,移动开发不同的接口
·数据库分离:每个服务都使用自己的数据源
·部署独立,服务间虽然有调用,但能做到服务重启不影响其它服务。有利于持续集成和持续交付。每个服务都是独立的组件,可复用,可替换,降低耦合,易维护,易集群Docker部曙服务
2、不使用Eureka注册中心的情况下,分布式服务必然面临的问题有哪些?
答:
·服务管理
·如何白动注册和发现服务
·如何实现服务状态的监管
·如何实现动态路由,从而实现负载均衡
·服务如何实现负载均衡服务如何解决容问题服务如何实现统配
3、什么是高可用?什么是分布式?什么是集群?什么是负载均衡?高可用?
答:就算是在极端环境下,也可以正常提供服务,哪怕是网线坏了
如何实现高可用?
答:集群集群中的一些服务器挂了,也可以继续提供服务)分布式、集群、负载均衡的关系?
答:分布式:把一个大项目,根据业务需求拆分成多个服务,最终部署的时候,也就是分布式部署
集群:把同份代码,部署在N台服务器上
负载均衡:把请求分摊到多台服务器上集群之后,必须负载均衡;想要负载均衡,必须集群。
4、Eureka的工作原理
答:
·Eureka:服务注册中心(可以是一个集群),对外暴露自己的地址
·提供者:启动后向Eureka注册自己信息(地址,提供什么服务)
·消费者:向Eureka订阅服务,Eurekas会将对应服务的所有提供者地址列表发送给消费者,并且定期更新
·心跳(续约):提供者定期通过htp方式向Eureka刷新自己的状态