大型系统全局技术架构的理解

前言

本文基于自己经验,对大型系统(尤其互联网公司系统)整体技术架构的理解做一个小总结。

内容偏整体性的技术架构以及的架构中用到的主要技术框架/组件等。

整体技术架构

整体技术架构大致从单体架构到多服务、服务化、容器化、Serverless等方向演进,大致如下:

7fffe1bd541c4cbda1c3423aff3f78ac.png

随着业务场景越来越复杂,技术架构也逐渐演进到更庞大复杂的架构体系。如下:

下面是整体架构下各个不同端的关键的技术或技术组件/产品,其中技术组件/产品都是开源或市面上能看到和使用的组件:

关键技术/组件

终端/入口

  • HttpDNS

  • CDN

  • 前端埋点

  • 前端矿机:VUE、React、Angular

  • 前端性能、异常监控组件:Sentry

  • LB组件:LVS、F5、Nginx

  • 网关:SpringCloud-Gateway、Zuul

服务端服务

  • 服务调用/治理:Dubbo、SOFA、gRPC、SpringCloud、CloudWeGo-Kitex(字节Go语言)

  • 服务注册发现:Nacos、Consul、Zookeeper、ETCD、eureka

  • 限流/熔断:Sentinel、Hystrix

  • 动态配置:Diamond、Apollo

  • 静态配置:SpringCloudConfig、Nacos、Apollo

  • 流程引擎:Camunda、Jbpm4、Activiti、jbpm

  • 规则引擎:drools

  • 数据回放:jvm-sandbox-repeater

  • 数据同步:otter、Canal

  • 实时数据:Flink、Spark

  • 检索:ElasticSearch,Lucene

  • 分布式缓存:Redis

  • 分布式消息队列:Kafka、RocketMQ、RabbitMQ、ActiveMQ

  • 分布式调度:XX-JOB

  • 工具:Arthas性能分析,Guava包、gh-ost(DDL工具)、flyway(db同步工具)

监控报警体系

  • 平台:Prometheus+Grafana、Zabbix、Nagios、Metrics、Specatator

全链路跟踪

  • 链路跟踪:Zipkin、Brave、Dapper、Sleuth、Pinpoint、skywalking

服务日志体系

  • 日志采集/存储/检索:ELK(LogStash、Elasticsearch、Kibana)

Devops

  • 平台/工具:gitlab、nexus、Junit、Jenkins、Sonar、Jacoco、

持久化存储

  • 实时DB:Mysql、Oceanbase、TiDB

  • 离线数仓:Hive、Hadoop、Sqoop(实时离线转换)

系统/容器

  • 容器:OpenStack、KVM、Docker、Kubernetes

硬件

  • GPU:A100 H100 A800 H800

机房/网络

  • 多中心、多活

除了上面关键的平台/框架/组件等,还有很多工具组件等,其中的平台/框架/组件/工具部分自己用过,部分也只是了解,如有其他建议欢迎探讨。

  • 10
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值