微服务平台改造落地解决方案设计
如上图为前端整体框架结构,包括:
目前,组件库的开发已完成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配合完成服务源代码的校验、构建和发布。 最终构件分为两个部分:
成果展示 服务源代码构建任务清单:
基础框架源代码构建任务清单:
如下图所示: ![]() 例子:编译服务网关源代码 ![]() (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |