《如何快速搭建一个微服务架构》---总结
第一次听视频公开课,以为会各种讲广告,干货会比较少;最后觉得还可以,对我这种菜鸟还是有一些作用,先简单做一个总结吧。做什么事情,总会有一点收获;
1. 传统单体机构、主流的SOA(面向服务的架构)和新兴的微服务架构的优缺点比较
缺点:一个服务由各个模块组成
a、耦合性高---各个代码之前会相互调用
b、部署耗时长---包很大,且有串型部署项目的情况
c、稳定性/可用性差--一个服务发生故障,很可能会导致其他服务阻塞不可用
d、可扩展性差,不能针对特定模块去优化,提升性能
微服务架构的优点:各个模块被拆分成一个一个的服务
a、边界清晰,开发测试维护简单---一整个服务被拆分成单个服务
b、技术栈灵活,可用用多种语言编写,通过协议来调用
c、松耦合
d、可用性高
2、服务器端负载均衡和客户端负载均衡的区别
服务器端的负载均衡:
这个在平常的开发中很常见,比如一个服务要部署在几个节点(集群模式),那么你就需要在nginx里面配置很多的ip:port,然后客户端访问的时候,将请求到nginx,然后由nginx将请求转发给对应的服务;也就是说客户端事先不知道请求哪个服务器
缺点是:
如果集群很大,那么需要在nginx中配置很多的ip:port,可维护性差,如果需要新增服务节点,需要运维人员去手动配置
客户端的负载均衡:
其实是第一次听说这个概念,不过平时也用到过,比如利用dubbo去调用接口服务;客户端在调用服务器接口的时候,已经知道去调用哪个服务
优点:由服务应用去自动注册到注册中心,注册中心来维护各个服务的调用地址
3、 一个微服务架构的组成结构
框架:注册中心、负载均衡、声明式服务(feigh)、容错(hystrix)、网关(权限)zuul和配置(resource)
拆分:循序渐进,不要期望一步到位