加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

微服务平台改造落地解决方案设计

发布时间:2019-07-25 21:12:32 所属栏目:移动互联 来源:Wooola
导读:前言 最近几年,楼主在微服务领域做过一些架构设计,针对新老服务如何微服务化积累一定经验,先分享给大家,希望对大家有用。同时欢迎头条朋友在评论区留言,共同讨论微服务该如何演进。 一、平台微服务改造方案 1、启动方式 启动方式改为spring-boot启动

如上图为前端整体框架结构,包括:

  • 入口文件:index.html同时也是应用程序首页面。index.html中可以定义系统的全局的样式。
  • appModule:系统的根模块,Angular 应用是模块化的,每个应用至少有一个跟模块。
  • homeModule:系统界面框架模块,包括左侧菜单栏、顶部导航栏以及中间内容区。
  • sysModule:平台安全框架模块。
  • otherModule:其它应用模块。
  • base/constants:平台提供的基类以及常量。
  • 组件库:组件库为平台搭建的通用组件,满足应用开发的常用场景,可以作为第三方依赖包集成到应用开发中,提高应用产品开发效率。

目前,组件库的开发已完成80%左右,可以满足应用基本业务场景,后续还需要不断地扩充、完善和优化,让组件库更方便、易用。

7、工程化

工程化的主要目的是提高效率、降低成本,因此前端工程化也是必不可少的一部分,前面提到了工程化的几个要素,针对这几个要素提出了我们的解决方案:

  • 开发规范

定义前端开发规范文档,并通过TSLint和codelyzer对代码进行检查。

  • 模块化开发

利用Angular的module功能对不同的应用模块采用模块化开发。

  • 组件化开发

Angular原生支持组件化开发,降低代码的耦合性,提高代码可复用性。

  • 组件仓库

利用cnpm搭建私服,所有组件库在cnpm私服中统一管理。

  • 开发流程

定义开发流程,明确职责和协同,明确目标,提高开发效率。(目前,开发流程还没有完全固化下来,仍需要进一步完善)

  • 开发工具

平台组完成开发语言、开发工具、测试工具、发布工具等选型,所有应用产品按照规范统一开发工具。

  • 性能优化

页面的响应时间对于用户是非常重要的,因此前端的性能优化(按需加载、延迟加载、代码压缩、缓存等)是很重要的一部分,目前这部分考虑的比较少,后续会重点考虑前端性能优化内容。

三、后端框架设计

1、 服务拆分

公共服务

干活分享:微服务平台改造落地解决方案设计

2、公共组件

干活分享:微服务平台改造落地解决方案设计

3、开发静态视图

平台基础框架

平台基础框架提供公共的API供业务开发者调用,让他们关注与业务层面的代码实现,而不是平台底层框架实现。

平台基础框架包括:

1) 基础核心(app-cloud-framework-core)

提供数据库访问配置、Base基类(Service、Repository)、实体、工具、注解、切面、常量功能等

2) 控制层(app-cloud-framework-mvc)

提供控制层基类(Controller)、获取认证用户功能等。

如下图所示:

干活分享:微服务平台改造落地解决方案设计

平台基础服务

平台基础服务存在的目的是为用户提供访问入口、安全认证;为服务提供注册与发现、负载均衡、熔断、配置等功能。

平台基础服务包括:

1) 认证服务(app-cloud-cloudware-authserver)

用于实现用户单点登录和退出。

2) 配置中心服务(app-cloud-cloudware-configserver)

用于管理各个服务的配置文件管理。

3) 注册与发现服务(app-cloud-cloudware-discovery)

用于管理服务的注册与发现。

4) 网关服务(app-cloud-cloudware-gateway)

实现用户统一入口访问,动态路由,安全认证等。

如下图所示:

干活分享:微服务平台改造落地解决方案设计

四、持续构建与交付

Jenkins

Jenkins与Gitlab、Docker、Sonar配合完成服务源代码的校验、构建和发布。

最终构件分为两个部分:

  1. Docker镜像
  2. 二进制包(例如jar)

成果展示

服务源代码构建任务清单:

  1. app-cloud-cloudware-authserver(认证服务源代码构建任务)
  2. app-cloud-cloudware-configserver(配置中心服务构源代码建任务)
  3. app-cloud-cloudware-discovery(服务注册与发现源代码构建任务)
  4. app-cloud-cloudware-gateway(服务网关源代码构建任务)
  5. app-cloud-param-service(公用参数服务源代码构建任务)
  6. app-cloud-security-service(安全框架服务源代码构建任务)
  7. 其他服务

基础框架源代码构建任务清单:

  1. app-cloud-framework(基础框架源代码构建任务)
  2. app-cloud-platformwork(平台框架源代码构建任务)

如下图所示:

干活分享:微服务平台改造落地解决方案设计

例子:编译服务网关源代码

干活分享:微服务平台改造落地解决方案设计

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读