分布式架构技术选型

文章目录

    • 前言
    • 分布式服务框架
    • 分布式事务
    • 分布式锁
    • 分布式缓存
    • 分布式消息系统
    • 分布式搜索系统
    • 分布式调度
    • 配置中心
    • 注册中心
    • 全链路追踪
    • 服务监控
    • 日志收集和分析
    • 服务路由
    • 服务熔断器
    • 负载均衡

前言

如果要把一个单体应用变成一个分布式系统,或者构建一个分布式系统需要用到哪些技术呢?下面介绍的框架都是开源的框架。

分布式服务框架

作为分布式系统,首先需要让各系统或服务之前互相通信,必须要有一个分布式服务框架。各个服务可以感知对方在哪里,发送请求,可能通过RPC的方式或HTTP的方式。

最常见的框架是dubbo和spring cloud。

分布式事务

基于TCC、最终一致性、2PC等分布式事务的实现方案和开源技术。

开源方案有:ShardingSphere、seata

分布式锁

基于zookeeper或者redis实现分布式锁

分布式缓存

例如redis、memcache等。

分布式消息系统

例如kafka、rabbitmq、rocketmq。

分布式搜索系统

例如ES。

分布式调度

例如:Elastic-Job

配置中心

例如: Spring config 、Apollo 、nacos

注册中心

例如:Zookeeper、Eureka、Nacos、Consul

全链路追踪

例如: Zipkin、Brave、Dapper、CAT

服务监控

例如: Zabbix、Nagios、Metrics、Spectator

日志收集和分析

FileBeat + Kafka + ELK

服务路由

例如:Zuul

服务熔断器

例如: Hystrix、Envoy

负载均衡

例如: Nginx 、 OpenResty

你可能感兴趣的:(架构,分布式,分布式系统,微服务)