新建分布式系统时的八条假设
- 网络是稳定的
- 传输的延迟是零
- 带宽是无穷大
- 安全的
- 拓扑不会改变
- 只有一个系统管理员
- 传输数据的成本是零
- 整个网络是同构的
错误是不可避免的
曾因酒醉鞭名马 生怕情多累美人
软件工程的本质
分布式、服务化、自动化部署、高可用、敏捷以及分层开放的特征
并且可以和IaaS 实现良好的联动
面临的主要问题
解决方案
全栈监控
全栈系统监控的东西 像是我们的眼睛
基础层 CPU 内存等
中间层 nginx、redis
应用层 http访问的吞吐量
统一的日志分析
关注于整体应用的SLA
最佳实践是谷歌家的dapper 开源实现是zipkin
业务的日志采集
服务治理
可能混淆了流量调度等其他内容
没有依赖就没有伤害
微服务是服务依赖最优解的上限
spring boot开了好头
zipkin 服务调用跟踪系统
宠物模式 救活
奶牛模式 重新生成一个实例
分布式的技术栈
增加系统容量 提高系统的可用性
提高整体架构的吞吐量 服务更多的并发和流量
提高系统的稳定性 让系统的可用性更高
初期是读写分离 后期是分库分表
稳定性
高可用运维
服务治理
docker k8s
五个关键技术