IT 系统设计从早期的 Jsp/Servlet 类应用为主, 到今天的微服务 ServerLessDockerPaasCI&CDDevops 目标: 高效研发弹性扩展高效运维手段: Divide&Conquer (分层, 解耦合)
协议层从早期的 HTTp+XML&SOAP 到今天的 Restful (Spring)& 轻量级 RPC (Dubbo, gRpc), 协议的效率和内容自描述性方面得到了很大提高;
功能分离: 缓存和消息队列得到了广泛的应用
数据存储: 各类 Nosql(CassandraHbaseMongoDBNero4J 等) 数据库的出现极大丰富了数据存储的选择
微服务框架: Spring Cloud, Dubbo 等, 简化了微服务开发和治理工作
当前一些有自研需求的公司逐步开始在已有 Iaas 平台基础上, 引入 Docker, 基于 K8s 实现服务 (容器) 的治理, 逐步实现 DevOps & CICD 目标
实际应用开发中, 典型的应用首先会对应用进行分层, 客户端层 (微信客户端 webAndroidIos) 和服务层分离, 这样可以各层实现自我优化; 服务层通过分布式技术, 使用微服务设计理念, 实现服务的弹性扩展和支撑能力; 数据层通过分库分表读写分离等技术扩展数据存储层面的能力
对于技术人员来说, 需要了解核心的设计思想, 在选择技术框架时, 能够根据不同的层分析不同的适用原则选择框架, 上线运维过程中能够快速定位问题, 并用合适的方式来解决
来源: http://www.bubuko.com/infodetail-2504906.html