微服务相关内容
1.什么是微服务?
单个轻量级服务一般为一个单独微服务,微服务主要是专注某个功能的实现,比如登录系统只专注于用户登录方面功能的实现,讲究的是职责单一,开箱即用,可以独立运行。在 intellij idea 工具里面就是用maven开发的一个个独立的module,具体就是使用springboot 开发的一个小的模块,处理单一专业的业务逻辑,一个模块只做一个事情。
2.微服务之间的通讯
同步通信:SpringCloud和Dubbo都是现在主流的微服务架构,Dubbo通过 RPC 远程过程调用、SpringCloud通过REST接口json调用。
异步:通过消息队列,如:RabbitMq、ActiveMq、Kafka 等。
3.微服务的优缺点
优点:松耦合,关注单一业务功能,无关开发语言,团队规模降低。在开发中,不需要了解多有业务,只专注于当前功能,便利集中,功能小而精。微服务一个功能受损,对其他功能影响并不是太大,可以快速定位问题。微服务只专注于当前业务逻辑代码,不会和 html、css 或其他界面进行混合。可以灵活搭配技术进行开发。
缺点:随着服务数量增加,管理将会复杂起来,部署也变得更加麻烦,服务器需要增多,服务通信和调用压力增大,运维工程师压力增大,人力资源增多,系统依赖增强,数据一致性变得难以保证,且不易进行性能监控。
4.服务熔断和服务降级
服务熔断是当某服务不可用或响应超时的时候,为了防止整个系统出现雪崩而暂停对该服务的调用。
服务降级为了预防系统某些功能出现负荷过载或者响应慢的情况,暂时舍弃对一些非核心的接口和数据的请求,而直接返回一个提前准备好的fallback错误处理信息。这样,虽然部分服务受损,但却保证了整个系统的稳定性和可用性。

浙公网安备 33010602011771号