架构演进和分布式系统基础知识

微服务是从单体应用发展而来,传统单体应用非常简单,只有用户、应用系统和数据库。

这种架构非常简单,但也非常脆弱,只适合小型应用,随着系统越来越庞大,用户越来越多,这样的单体应用也就不适合了,分布式架构应运而生。

分布式架构强化了系统的稳定性和安全性,但也使得系统变得难以维护。

微服务继承了分布式架构的特点,也保留单体应用的优点,集合两者所长。

单体应用优缺点:结构简单,但是开发速度慢、启动时间长、依赖庞大等等。

微服务优缺点:易开发、理解和维护、独立的部署和启动等,但是分布式系统带来了分布式事务问题,需要管理多个服务导致服务治理会出现问题。

1)网关:路由转发 + 过滤器

2)服务注册发现:调用和被调用方的信息维护

3)配置中心:管理配置,动态更新 application.properties

4)链路追踪:分析调用链路耗时

5)负载均衡器:分发负载

6)熔断:保护自己和被调用方

常用的微服务框架

1)Dubbo: ZooKeeper + Dubbo + Spring MVC/Spring Boot

官方地址:http://dubbo.apache.org/#!/?lang=zh-cn

配套:
  通信方式:RPC
  注册中心:ZooKeeper / Redis
  配置中心:Diamond

2)Spring Cloud:全家桶+轻松嵌入第三方组件(Netflix 奈飞)

官网:http://projects.spring.io/spring-cloud/

配套
  通信方式:HTTP Restful
  注册中心:Eruka/Consul
  配置中心:Config
  断路器:Hystrix
  网关:Zuul
  分布式追踪系统:Sleuth+Zipkin

学习资料:https://blog.csdn.net/zhangweiwei2020/article/details/78646252

猜你喜欢

转载自www.cnblogs.com/jwen1994/p/11525057.html