架构
技术选型
-
缓存:Redis、MemCached、OsCache、EhCache
-
熔断:Hystrix、resilience4j
-
负载均衡:DNS、F5、LVS、Nginx、OpenResty、HAproxy
-
注册中心:Eureka、Zookeeper、Redis、Etcd、Consul
-
认证鉴权:JWT
-
消费队列:RabbitMQ、ZeroMQ、Redis、ActiveMQ、Kafka
-
系统监控:Grafana、Prometheus、Influxdb、Telegraf、Lepus
-
文件系统:OSS、NFS、FastDFS、MogileFS
-
RPC框架: Dubbo、Motan、Thrift、grpc
-
构建工具:Maven、Gradle
-
集成部署:Docker、Jenkins、Git、Maven
-
分布式配置:Disconf、Apollo、Spring Cloud Config、Diamond
-
压测:LoadRunner、JMeter、AB、webbench
-
数据库:MySql、Redis、MongoDB、PostgreSQL、Memcache、HBase
-
网络:专用网络VPC、弹性公网IP、CDN
-
数据库中间件:DRDS、Mycat、360 Atlas、Cobar (不维护了)
-
分布式框架:Dubbo、Motan、Spring-Could
-
分布式任务:XXL-JOB、Elastic-Job、Saturn、Quartz
-
分布式追踪:Pinpoint、CAT、zipkin
-
分布式日志:elasticsearch、logstash、Kibana 、redis、kafka
-
版本发布:蓝绿部署、A/B测试、灰度发布/金丝雀发布
持续交付
架构链路监控
架构监控架构
四层监控
- 前端监控:IP、PV、运营商、系统、性能、状态码
- 业务监控:登录、注册、下单、支付
- 应用层监控:service、sql、cache、相应时间
- 系统监控:物理机、虚拟机、容器,CPU、内存、IO、硬盘
- 基础监控:网络、交换机、路由器
监控分类
- 日志监控
- 调用链监控
- 告警系统
- Metrics监控
- 监控检查
Docker、Grafana、Prometheus、Telegraf、Influxdb、Lepus、Elasticsearch、Logstash、Kibana、kafka、node插件、dashboards仪表盘、钉钉、邮件、微信。
架构 架构服务框架和治理
架构架构必备
- 负载均衡(负载均衡算法)
- 反向代理
- 服务隔离
- 服务限流
- 服务降级(自动优雅降级)
- 失效转移
- 超时重试(代理超时、容器超时、前端超时、中间件超时、数据库超时、NoSql超时)
- 回滚机制(上线回滚、数据库版本回滚、事务回滚)
高并发
- 应用缓存
- HTTP缓存
- 多级缓存
- 分布式缓存
- 连接池
- 异步并发
分布式事务
- 二阶段提交(强一致)
- 三阶段提交(强一致)
- 消息中间件(最终一致性),推荐阿里的RocketMQ
队列
- 任务队列
- 消息队列
- 请求队列
扩容
- 单体垂直扩容
- 单体水平扩容
- 应用拆分
- 数据库拆分
- 数据库分库分表
- 数据异构
- 分布式任务
网络安全
- SQL注入
- XSS攻击
- CSRF攻击
- 拒绝服务(DoS,Denial of Service)攻击