微服务
微服务就是一些协同工作的小而自治(内聚性)的服务
一个业务由一组的微服务协同完成,举例:支付业务可能由会员服务(会员身份认证,会员信息,绑卡信息),风控服务,交易服务,记账服务,支付网关服务构成
优点:异构型(平台,存储),弹性(故障),扩展,易部署,与组织对齐
代价:一致性,开发测试,监控等
Cloud Native
关心如何创建和部署应用,并不关心将应用部署到哪里
四个重点:DevOps,持续交付,微服务,容器(Docker,K8S)
最佳实践
SaaS 方法论 标准化 可移植性 环境
- Codebase(一份基准代码,多份部署)
- Dependencies(Maven)
- Config(代码与配置分离,配置中心)
- Backing services(将所有后端服务都当做资源:数据库,Redis等)
- Build,Release,Run(Jenkins)
- Process(一个或多个无状态的进程,分布式Session 或 JWT)
- Port Binding
- Concurrency(使用进程进行扩展,LB+集群)
- Disposability
- Dev,Prod parity
- Logs
- Admin processes
Spring Cloud
- 服务发现
- 服务熔断
- 配置中心(Config,Bus)
- 服务安全(Spring Security)
- 服务网关(Zuul)
- 分布式消息(Spring Cloud Stream)
- 分布式跟踪
- 云平台(Alibaba)
网友评论