从分布式SOA到微服务

2016年底得到一次重新组建团队的机会,距离上一次技术架构搭建也过去2年半,因此开始了新一轮技术架构搭建之路。

团队

  • 20人
  • 开发 产品 运维 测试 UED 风控 运营
  • Android/IOS 官网及后台BOSS系统 风控系统 大数据 第三方接口管理

产品业务类型

  • 白条
  • 消费分期

原分布式SOA架构存在的问题

  • 业务模块边界不够清晰,粒度较粗
  • 缺少自动化的服务注册和发现
  • 缺少集中的配置管理及下发
  • 部署脚本要处理的内容多,易出错
  • 缺乏对熔断和降级的自动处理

新技术栈的选型及踩过的坑

  • dubbo/dubbox 阿里本身已较少使用,缺少更新和后续支持(2017.8开始有阿里团队维护)
  • spring cloud netflix成功应用,pivotal提供支持,技术栈全面,最终选择

  • spring cloud eureka feign sleuth config hystrix swagger, mybatis druid
  • aliyun slb https oss rds redis, rabbitmq ecs自建
  • jenkins maven sonarqube mock jmeter
  • filebeat logstash elasticsearch kibana

  • eureka非实时下线错误节点
  • 熔断时间的设置
  • jvm参数配置

后续待研究

  • 加强单元测试
  • 容器化
  • es日志数据分析
  • 性能压测
  • 增长黑客
  • etl、数据仓库、数据挖掘


blog comments powered by Disqus
—  原创作品许可 — 署名-非商业性使用-禁止演绎 3.0 未本地化版本 — CC BY-NC-ND 3.0   —