• 标准化运行环境 ,如无特殊情况 ,线上业务的虚拟机 KVM或docker配置一样
• 标准化运行容器如Tomcat
• 标准化环境标识 ,如每台机器固定路径的appenv文件 ,env=production ,文件内容标识机器属于什么环境如线上环境、测试环境
• 标准化应用名称规范 ,每个应用有一个唯一的名称 ,如war包下放置一个app.properties ,app.name=xxx-xxx-service
• 统一的开发语言
• 标准化发布工具 ,如可以实现统一war包发布、jar包版本升级限制
• 统一的服务通信框架
• 统一的配置中心
• 统一的数据库、KV等存储访问层
• 统一的MQ
• 统一的监控系统
• 底层存储如mysql、KV等尽量保证只有一个或少数几个服务访问 ,每个应用只能访问自己的存储
• 面向业务领域定义服务 (interface ),每个服务高内聚 ,一个应用可能多个服务
• 按业务产品线规划应用 ,理解业务本质 ,根据业务发展情况进行服务的拆分或重构
• 组织结构按业务产品线划分 ,做好微服务需组织结构支持
后续给大家分享zookeeper,kafka,storm等的搭建。