2020-09-29

标题:Spring Could 是怎么使用的?(理清思路)

此问题通常是在回答了项目的技术架构后被问及,根据具体的使用Spring Cloud完成微服务开发的步骤来回答即 可。1、每个微服务使用Spring Boot开发,每个微服务工程包括了web、service、dao三层,这和开发一般的项目没有
区别:
a、web层使用Spring MVC实现,对外暴露API接口给前端调用。
b、service层就是根据业务逻辑编写JavaBean,并使用Spring的声明式事务控制方式来控制事务。
c、dao层就是数据访问接口,来访问MySQL和Mongodb,访问MySQL使用Spring Data JPA和Mybatis,访问 mongodb使用Spring data mongodb。
2、微服务开发完成要向Eureka注册中心注册,以便被其它微服务查找和访问。
3、微服务与微服务之间使用feign来调用,feign Client具有负载均衡的作用。只需要在接口上声明@FeignClient注 解,Spring底层会产生动态代理对象,使用ribbon客户端完成调用。
4、前端访问微服务需要通过网关,网关使用Nginx和Zuul来实现,Nginx是最前边的负载均衡,通过Nginx之后便 到达了Zuul,项目中Zuul的功能是过虑用户请求,判断用户身份,对于一些对外公开的微服务则需要经过Zuul,直 接通过Nginx负载均衡即可访问。

标题:雪崩问题怎么解决?(重点)

微服务的雪崩效应表现在服务与服务之间调用,当其中一个服务无法提供服务可能导致其它服务也死掉
比如:单点登录服务调用用户信息服务查询用户信息,由于用户信息服务无法提供服务导致单点登录服务一直等待,从而导致用户登录、用户退出功能无法使用,像这样由一个服务所引起的一连串的多个服务无法提供服务即是微服务的雪崩效应。

猜你喜欢

转载自blog.csdn.net/weixin_42584783/article/details/108876124