SOA是一种设计策略、指导思想、原则;微服务是这个原则下的一种实践。后端
开发阶段:经过微服务框架提供标准化的统一开发支持安全
发布阶段:经过标准化的形式统一发布和管理网络
运维阶段:标准化的方式统一维护数量庞大的微服务。框架
总结:核心是整个交付链路是否有一整套的支撑性工具和平台生态体系。运维
服务的注册和发现微服务
服务注册中心对服务方提供注册功能,对使用方提供服务查找服务工具
更好的实现是,使用方对接Service Proxy,Proxy负责对接服务中心查找服务,并根据结果路由到实际服务,这样能够将服务的注册和发现隔离到服务端,使用方只访问一个服务接口,简化了设计。测试
服务的监控和运维设计
监控层面:硬件、网络、系统、微服务应用、服务访问层日志
监控方式能够使用Jolokia的基于HTTp的JMX的无侵入方式;使用dropwizard metrics提供告警服务。
前4层都是白盒的形式,而服务访问层的监控是以黑盒的方式监控,直接发起服务访问,判断服务可用性
安全
一个安全防御体系从网络、系统、应用等多个层次进行深度防护
微服务之间通常是在trust域,因此能够适当放低要求。
可是后端管理端口和前段访问端口必定要分开隔离,不使用同一网络地址和端口
能够考虑OAuth2服务做为受权的管理和验证方。
发布和部署
统一的发布平台能够执行约定检查,如是否已测试、已完成SQL审查、安全评估、日志规范、是否启用了无关的配置模块、是否使用了太低版本或有漏洞的三方件等
微服务的发布是高频的,因此高效、固化的发布平台很是重要