CRM会员营销平台
该产品需要为众多品牌企业提供CRM业务上的服务,为保证产品能够面对不同品牌企业的需求,从可复用性、可扩展性、可伸缩性等角度考虑,采用了SpringCloud的微服务架构体系。
目前产品已为近15个品牌企业提供会员分析、行为分析、忠诚度计算等多项业务。目前所服务的品牌总会员量达1600W、日均订单量14W、API日均PV900W次。
微服务应用层面:
整个产品根据业务垂直拆分成多个可独立部署、独立维护、独立扩展的微服务,服务之间通过REST API互相通信提供服务。
整个产品包括:会员系统、订单系统、商品系统、搜索系统、忠诚度计算系统、会员行为系统、会员标签系统、任务调度系统、后台管理系统等。
前端通过Nginx负载均衡,采用SpringCloud-Zuul构建服务网关统一对外服务的API,将权限控制与业务分离保证服务集群中的REST API无状态、可复用。
各服务间通过SpringCloud-Ribbon实现服务调用的负载均衡,以及通过SpringCloud-Hystrix的熔断特性防止个别微服务出现异常时发生故障蔓延。通过SpringCloud-Stream集成Kafka的消息驱动方式对非强一致性的业务进行异步化处理避免流量高峰时期影响服务响应时间。
微服务基础设施层面:
采用SpringCloud-Eureka构建服务注册中心,实现服务治理;
采用SpringCloud-Config构建基于Git仓库存储的分布式配置中心来管理各应用多环境的外部化配置,以及通过SpringCloud-Bus实现对分布式配置信息变化的热加载;
采用SpringCloud-Sleuth跟踪每个请求的链路调用过程帮助定位错误根源和监控分析每条请求链路上的性能瓶颈,并将数据推送至Zipkin完成前端UI展示;
采用Filebeat+Logstash+Elasticsearch+Kibana构建分布式日志系统,实现对分布式日志的收集、存储与检索;
采用Canal构建数据实时增量同步系统,实现对Redis缓存、ES索引的准实时更新,保证数据最终一致性。