Technology Selection:
- Gateway: Nginx, Kong, Zuul
- Cache: Redis, MemCached, OsCache, EhCache
- Search: ElasticSearch, Solr
- Fuse: Hystrix, resilience4j
- Load balancing: DNS, F5, LVS, Nginx, OpenResty, HAproxy
- Registration Center: Eureka, Zookeeper, Redis, Etcd, Consul
- Authentication Authentication: JWT
- Consumer queue: RabbitMQ, ZeroMQ, Redis, ActiveMQ, Kafka
- System monitoring: Grafana, Prometheus, Influxdb, Telegraf, Lepus
- File systems: OSS, NFS, FastDFS, MogileFS
- RPC framework: Dubbo, Motan, Thrift, grpc
- Build tools: Maven, Gradle
- Integrated deployment: Docker, Jenkins, Git, Maven
- Distributed configuration: Disconf, Apollo, Spring Cloud Config, Diamond
- 压 测: LoadRunner, JMeter, AB, webbench
- Database: MySql, Redis, MongoDB, PostgreSQL, Memcache, HBase
- Network: a private network VPC, the elastic public network IP, CDN
- Database middleware: DRDS, Mycat, 360 Atlas, Cobar (not maintained)
- Distributed framework: Dubbo, Motan, Spring-Could
- Distributed Mission: XXL-JOB, Elastic-Job, Saturn, Quartz
- Distributed track: Pinpoint, CAT, zipkin
- Distributed log: elasticsearch, logstash, Kibana, redis, kafka
- Release: blue, green and deploy, A / B testing, gray publish / canary release
Continuous Delivery:
Link monitoring:
Monitoring Architecture:
Four monitoring
- Front-end control: IP, PV, operators, system performance, status code
- Business monitoring: login, registration, order, pay
- Monitoring the application layer: service, sql, cache, the corresponding time
- 系统监控:物理机、虚拟机、容器,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)攻击