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

架构演进

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

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

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

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

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

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

  • 网关:路由转发 + 过滤器
  • 服务注册发现:调用和被调用方的信息维护
  • 配置中心:管理配置,动态更新 application.properties
  • 链路追踪:分析调用链路耗时
  • 负载均衡器:分发负载
  • 熔断:保护自己和被调用方

 

常用的微服务框架

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

3)Spring Alibaba Cloud

全家桶+阿里生态多个组件组合+SpringCloud支持

官网:https://spring.io/projects/spring-cloud-alibaba

配套

  • 通信方式:HTTP Restful
  • 注册中心:nacos
  • 配置中心:nacos
  • 断路器:sentinel
  • 网关:gateway
  • 分布式追踪系统:sleuth+zipkin

 

posted @ 2019-09-15 23:15  认真对待世界的小白  阅读(224)  评论(0编辑  收藏  举报