- 非代码函数
- 非重写时间
- 适合团队最重要
- 独立业务属性
- 全功能团队
- 服务运行在独立的进程中
- 协议跨平台
- 格式语言无关
- 独立开发
- 独立测试
- 独立部署
- 服务作为组件
- 围绕业务组织团队
- 产品驱动而非项目驱动
- 技术多样性
- 业务数据独立
- 基础设施自动化
- 演进式架构
- 按需伸缩
- 独立部署
- 业务独立
- 技术多样性
- 环境配置(Provisioning)
- 部署
- 监控
- 自动化测试
- 契约测试
- 版本管理
- 服务依赖
- 服务治理
- 实现方式
- 服务粒度
- 集成方式
- 部署方式
- 单机多实例
- 单机单实例
- 容器多实例
- 容器单实例
- 客户端发现
- 服务器端发现
- Consul
- Eureka
- SmartStack
- Etcd
- 请求转发
- 响应合成
- 协议转换
- 安全认证
- 自注册
- 第三方注册
- Consul
- Eureka
- 全功能团队
- 去中心化
- 康威定律
- 数据库
- RDBMS
- NOSQL
- 数据伸缩
- 读
- 写
- 缓存
- 业务数据隔离
- 单点登录
- 点对点验证
- 安全网关
- RPC/RMI
- Java RMI
- Thrift
- Protocol Buffer
- REST
- HAL
- ActiveMQ
- MSMQ
- RabbitMQ
- Sidekiq
- Resque
- SpringBoot
- SpringCloud
- DropWizard
- 代码结构
- 测试结构
- WEB服务器配置
- 日志格式
- 监控文件配置
- 告警文件配置
- Shell
- Chef
- Puppet
- Ansible
- Jenkins
- Bamboo
- 服务描述
- 责任人
- 请求/响应描述
- 开发环境搭建
- 运行环境
- 测试策略
- 部署方式
- 监控告警
- 模型表示层
- 业务模型
- 业务逻辑
- 模型存储
- 集成网关
- 基于Mock/Stub
- 基于真实依赖
- 服务间集成
- 数据库集成
- 与第三方接口集成
- 进程内
- 进程外
- PACT
- PACTO
- Selenium
- WebDriver
- Gatling
- JProfiler
- JMeter
- Simperf
- 数据中心/VM
- 公有云(IAAS/PASS)
- 私有云(IAAS/PASS)
- 容器化
- 包部署(Tar、RPM、War)
- 映像部署(AMI/...)
- 容器部署(Docker)
- Chef
- Puppet
- Ansible
- CloudFormation
- Kubernetes
- 蓝绿部署
- Immutable Deployment
- 依赖持续部署流水线
- 基础设施自动化
- 应用部署自动化
- X轴水平克隆
- Y轴功能性按需伸缩
- Z轴数据分离
- CPU
- 内存
- 磁盘
- 健康性
- 响应时间
- 关联ID(Correlation ID)
- 业务相关Metrics
- NewRelic
- OneAPM
- Nagios
- Zabbix
- 电话
- 短信
- 邮件
- 即时通信工具
- OnCall
- Backup
- Owner
- Leader
- Splunk
- Nagois
- PagerDuty
- 聚合每个服务实例的日志
- 关联相关日志
- Splunk
- ELK(ElasticSearch/LogStash/Kabana)
- Fluent
- Flume