SpringCloud微服务架构案例-共享服务中心

文摘   2024-08-31 07:31   云南  

 

点击上方蓝字关注我们



 

 

背景


 

      微服务开发以Spring-Boot和Spring-Cloud技术为基础框架,基于微服务架构的业务应用,建立场景全过程领域驱动模型,系统总体框架如下图所示。系统总体架构分为资源层、数据层、服务层、应用层和接入层。
资源层基于一体化平台,提供云基础设施、云平台组件等基础资源;
数据层基于全业务统一数据中心,提供数据存储服务;
服务层由不同功能的微服务组成,为企业级应用提供业务逻辑处理、数据共享等服务;
应用层由各种微应用组成,为用户提供相关业务功能的界面实现;
接入层主要通过门口为用户提供统一人机交互入口。
另外,云服务中心提供负载均衡、灰度发布、弹性伸缩、链路监控等相关支撑服务组件,支撑微服务、微应用的部署、运行和监控。


技术架构
  • 云服务中心: 描述了一个微服务架构的云服务层,包括接入层、应用层和服务层。

  • 接入层: 包括门户、应用控制台、部署配置和监控调度等。

  • 应用层: 包括应用多租户、弹性计算、对象存储、分布式服务总线等,还有注册中心、服务网关、服务监控和配置中心等组件。

  • 服务层: 包括微服务、灰度发布、故障自愈、全链路监控等。

  • 数据层: 包括负载均衡、数据库和接口服务等。

  • 云基础设施: 包括云平台组件、资源层、应用构建、信息集成和数据处理等。

  • 一体化平台: 描述了集中式云资源调控系统和分布式云操作系统。

 

共享服务中心


 

基于微服务总体架构设计, 包括:用户中心、工单中心、账单中心、支付中心、订单中心、积分中心、在线客服中心、消息中心。共享服务中心是一种战略性业务架构,以客户服务和持续改进为内容,以构建价值导向的核心服务能力为目标,将原来分散在各业务支持系统中存在业务逻辑相同或相近的事务性工作和专业服务工作进行分离、重组、集合,并交由相应的机构、岗位人员来组织运营。通过资源重组,实现了为客户提供统一、专业、标准化的高效服务目标。


共享服务中心

1)用户中心通过对用户身份数据、用户行为数据的沉淀,实现用户的统一注册、登录认证、授权等功能。
2)工单中心实现所有工单的统一指挥调度及全过程监控功能,包括工单生成、汇聚、分理、派发、处理、监控和查询分析等。
3)账单中心实现服务记录、业务费、等账单的集中展示、查询与管理,为客户提供电子账单的查询、订阅、下载、推送等服务,同时面向客户提供便捷的业务费的电子发票开具、查询、下载、订阅服务等功能。
4)支付中心按不同单位的需求,为客户提供银行卡、支付宝、微信、手机网银等多种支付方式,且支付中心定位各支付渠道的支付聚合,支付渠道统一接入,各支付渠道单独结算的功能。
5)订单中心实现商城商品销售、积分兑换、等各类型订单的统一下单和集中查询、管理等功能。
6)积分中心为用户提供统一积分接入、查询、兑换能力,对单位相关业务系统,实现积分的统一接入和统一管理,搭建积分兑换专区,支持兑换商品管理,开展
积分营销活动,实现积分统一兑换的运营管理等功能。
7)在线客服中心实现在线服务接入、在线自助服务、人工在线业务受理、自助工单审核、信息查询、业务回复评价、渠道消息推送等功能。共享服务中心实现了全网业务知识体系的统一管理与全局共享,支撑全渠道客户服务知识应用,满足全网营销服务人员以及外部客户对知识的应用需求。
8)消息中心提供统一的消息接入、监控、运营能力,提供多种消息发送渠道,同时支持消息模板设置、备用通道切换、渠道监控、流量控制、消息统计、运营管理等功能。
9) 工单知识库可以由于工单汇聚生成基于大模型形成基于RAG知识库,提供API到在线IM模块集成,实现智能AI客户对话。

 

Spring Cloud微服务架构


 

实现上述文件中提到的组件和服务,可以通过以下方式,仅供参考

接入层

    • 门户: 可以使用Spring Boot或Spring WebFlux来创建RESTful API作为前端的接入点。

    • 应用控制台: 可以构建一个管理界面,如使用Spring Boot Admin来监控和管理系统。

    • 部署配置: 可以使用Spring Cloud Config来集中管理配置文件。

    • 监控上报: 可以使用Spring Boot Actuator结合Prometheus和Grafana进行监控。

应用层

    • 应用多租户: 可以通过在Spring Security中配置多租户支持来实现。

    • 弹性计算: 可以使用Spring Cloud Task来处理短期任务。

    • 对象存储: 可以集成如Amazon S3, Minio, FastDFS的对象存储服务。

    • 分布式服务总线: 可以使用Spring Cloud Stream来实现消息驱动的微服务。

服务层

    • 微服务: 每个微服务可以是一个独立的Spring Boot应用。

    • 灰度发布: 可以使用ApiSix, Kong, Spring Cloud Gateway等API网关实现灰度发布。

    • 故障自愈: 可以通过Spring Retry和Hystrix,Sentinel实现断路器模式。

    • 全链路监控: 集成Spring Cloud Sleuth和Zipkin, SkyWalking,Pinpoint进行分布式跟踪。

数据层

    • 负载均衡: 可以使用Spring Cloud LoadBalancer, APISix来实现客户端负载均衡。

    • 数据库: 可以使用Spring Data JPA或MyBatis, MyBatis-Plus, JPA来访问数据库。

    • 接口服务: 可以通过REST API或gRPC, Spring-Cloud-Openfeign来暴露服务接口。

云基础设施

    • 云平台组件: 可以使用Pivotal Cloud Foundry或Cloud Foundry来部署和管理微服务。

    • 资源层: 可以使用Docker和Kubernetes,OpenShift来容器化和编排服务。

一体化平台

    • 集中式云资源调控系统: 可以使用Kubernetes来管理资源。

    • 分布式云操作系统: 可以使用Apache Mesos或Kubernetes来实现。

服务治理:

    • 服务网关: 可以使用Spring Cloud Gateway,ApiSix, Kong, Traefik, Higress来创建API网关。

    • 服务注册中心: 可以使用Eureka或Consul,Nacos来实现服务注册与发现。

    • 配置中心: 可以使用Spring Cloud Config Server, Nacos, Apollo-ctrip来集中管理配置。

共享服务中心

    • 共享服务: 可以创建共享服务来提供如邮件发送、短信通知等通用功能。

运营支撑平台

    • 运营管理: 可以创建一个运营服务来处理运营管理相关的业务逻辑。

    • 智能分析: 可以集成机器学习库,来进行数据分析和预测。
      Apache Mahout: 一个可扩展的机器学习库,专注于数学和统计算法。
      Deeplearning4j: 一个开源的、商业级的、分布式深度学习库,用于Java和JVM语言。
      Smile: 一个快速的机器学习库,用于分类、回归、聚类、关联规则挖掘和特征选择。
      Weka: 一个广泛使用的机器学习库,包含一系列算法用于数据挖掘任务

    • 监测大屏: 可以使用Grafana的API来创建自定义数据维度监控大屏。

    • 监控预警: 可以使用Spring Boot Actuator结合Alertmanager进行监控预警。

AI知识库

知识库管理: 可以创建一个知识库来支撑智能工单处理逻辑。JAVA栈可以基于Spring AI实现RAG

 

意义与目标


 

1)共享服务中心通过广泛应用分布式服务治理组件,分布式数据库组件、消息队列组件、全局事务组件、全链路监控组件等成熟互联网技术,将传统的竖状式客户资源进行在线资源整合,构建以客户为中心的现代服务体系,形成从电力供应商向综合能源服务商转型升级的发展模式。

2)采用微服务分布式架构,打破传统业务边界,使得前端应用以共享服务中心的形式提供核心业务能力,以客户视角重组业务场景,挖掘传统业务与新兴业务客户各类需求间的关联性关系,厘清各业务版块间价值链接点,按照不同服务场景,实现服务拆分及业务的重组,优化关联业务设计满足客户一键办理要求。同时,打通线上、线下全业务流程,建立“横向协同、纵向协作”的业务模式,确保线上、线下业务协同和信息互通和集中存储和共享。

3)基于微服务架构模式,大规模提升了数据处理服务能力,通过大规模、可扩展的并行计算框架,达成了海量数据存储及高性能计算分析能力的建设目标,基于应用平台实现数据共享和数据统一,实现互联网客户服务渠道的数据开发、两级交互共享及统一分析的战略格局,以数据为驱动对现有业务进行重构,实现数据的汇聚、融合、共享。总体架构的搭建在保证原有业务能力持续发挥作用的同时,也保证新业务能力的同步扩展,设计时充分考虑业务灵活、多变的特性,保证系统架构具备足够的业务扩展性和弹性伸缩能力,以便适应老业务模式向新业务模式演进时带来的变化,适应用户规模、用户使用方式和系统部署模式变化带来的影响,支撑新业务逐步扩展增加,实现创新支撑的建设目标。

 

总结


 

      通过采用以Spring-Boot和Spring-Cloud为技术框架的微服务架构模式,对业务应用进行改造,建立场景全过程领域驱动模型,全渠道应用于一体化平台。将业务功能复杂、耦合度高、系统维护成本大的系统改造为可独立部署、耦合度低、业务功能组件化的分布式系统,并保持着微服务架构简单性、避免分布式数据库事务、减少非必要的聚合服务;满足高负载服务拆分;避免业务应用过度拆分等三大原则。并且,业务应用各组成单元由一体化平台提供统一部署服务,将微服务、微应用等部署单元进行容器化,通过容器编排、负载均衡、弹性伸缩等组件完成各单元部署,满足业务应用的高可用、高性能、高并发需要。随着业务的不断发展,无论是新功能的增减还是业务逻辑的优化,业务系统都能够做到快速响应,敏捷开发,灵活配置,快速部署,独立运行,为业务的发展提供快速有力的支持。

 

 

Megadotnet
为您介绍各体系平台的新闻,系统研发相关框架,组件,方法,过程,运维,设计。企业IT与互联网信息系统或产品解决方案。开源项目,项目管理。
 最新文章