热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

企业统一研发平台构架和中台业务架构实践

企业级统一研发平台整体架构支撑是为了整体平台的流程,从管理、开发、测试、运维、生产几条线,实现整体平台的落地和管理场景需求各产品系统独立开发,代码复用率低,系统之间互相调用,耦合严

企业级统一研发平台

整体架构支撑是为了整体平台的流程,从管理、开发、测试、运维、生产几条线,实现整体平台的落地和管理

《企业统一研发平台构架和中台业务架构实践》

场景需求

各产品系统独立开发,代码复用率低,系统之间互相调用,耦合严重,系统解耦独立部署困难。

  1. 应用间数据复制严重,数据不一致性严重
  2. 基础组件薄弱,日志,监控系统不完善
  3. 功能模块定义混乱,包含大量接口,接口定义重复
  4. 大容量访问下无法提供可靠性服务

待解决问题

  1. 核心系统全面服务化:系统分解为核心服务和基础服务。
  2. 基础组件:服务化框架,分库分区,缓存组件。
  3. 加强监控,日志系统。
  4. 步化并行,限流,分流,降级,压力测试,异地灾备。
  5. 数据库统一规划优化。

平台价值

这个基础平台以先进的技术作为依撑,采用服务架构实现一个共享可复用的统一框架,是具有扩展性、兼容性、前瞻性的底层平台,满足快速开发、避免重复开发的需求,开创产品创新的新模式和新途径,更好的为产品开发和部署、运维提供服务。

  1. 平台共享数据为各个子系统共同调用的数据,减少各子系统间数据的调用,减少系统间的耦合性,达到“强内聚,低耦合”的效果;
  2. 可实现数据一次输入,多个子系统使用,消除信息孤岛,减少数据库服务器工作量,提高整体使用性能;
  3. 提供统一的开发框架,提高开发效率,避免重复开发,节约成本;
  4. 便于部署,实施和运维;
  5. 形成一个产品,用于后期产品的开发和管理。
  6. 服务模块化设计,便于根据需求组合使用。
  7. 服务统一注册、发现、治理。
  8. 便于集群部署和负载均衡,提供强大的并发支持和高可用。

约束条件

  1. 系统稳定、高效,可支持校园内外各种不同使用场景下的并发操作。
  2. 系统有良好的扩展性:在增加新的功能时旧有模块不做改动或稍作改动即可完成集成,部署更新不影响其他业务。
  3. 提供数据接口:便于其他产品或第三方厂商系统进行集成。
  4. 模块化:各个功能部分按模块开发,模块彼此解耦。
  5. 配置化:可根据客户实际需求,配置不同参数。
  6. 支持6大平台的开发和运行,支持Windows和Linux系统。
  7. 采用B/S架构,与外部业务系统之间使用RestfulAPI进行交互,使用spring MVC、java、c#语言进行开发。
  8. 需要支持高性能、高并发、高可用和高稳定的需求。

架构设计和实现

alinesno-cloud是基于Spring Cloud服务开发平台,产出方向为企业基础架构和统一研发云平台,为企业提供统一研发平台,同时在统一研发平台上建设企业中台业务服务,
整体平台从

基础规范 – 组织结构 – 基础架构 – 业务开发 – 持续集成– 自动化部署 – 自动化测试 – 生产运维监控 – 在线升级

的全方位企业级研发平台开发解决方案,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API
管理等多个模块,结合多个组件,为开发提供基础开发架构和支持,同时结合多种单点登陆方式(COOKIEs+SpringSession和Cas),支持多业务系统并行开发。代码简洁,架构清晰,适合学习和直接项目(后期支持)中使用。
核心技术采用Spring Boot 2.1.4以及Spring Cloud (Greenwich.RELEASE)相关核心组件。

研发平台架构设计原则

此处设计并没有按网络或者相关论坛生搬硬照,会去掉一些操作如持续集成添加代码检测、使用cloud全家桶,
这些都可能会导致开发过程效率或者后期隐患,建议按企业实际团队情况考虑,此处针对的一般企业项目的基础架构设计。

此研发平台架构设计有按的是通用型业务架构设计,而非指定于某种特定业务,以积累基础组件为前提,
在微服务架构做为载体,但是又有不一样的设计思路,此请注意。微服务架构设计着重对于服务划分,
而中台服务着重于中后台的沉淀和积累

  • 按“重中台”+”轻应用”设计,业务应用逻辑思路放在前端应用,推荐是尽量减少或不拆分前端服务;
  • 重中台的建设,在于前端应用共性部分的抽取和后期的沉淀,形成中台业务服务;
  • 中台服务调用基础服务,或者其它同级服务,中台服务为服务的中层,用于业务共性(共享)抽取;
  • 同一级服务之间可以互相调用,只能自下往下调用,平级调用,禁止自下往上调用,以避免服务混乱及维护混乱。
  • 基础服务只为调用设计,位于服务的底层或者中间层,基础服务禁止调用中台服务;
  • 服务单库设计,以减少迁移,服务之前影响等,每种服务目录按999个服务规划。

中台架构设计图

为企业提供统一研发平台架构,在研发平台上建设企业中台架构(中台技术、中台业务)

《企业统一研发平台构架和中台业务架构实践》

统一研发云平台门户

暂时引用其它平台logo,后面再设计

《企业统一研发平台构架和中台业务架构实践》
企业统一研发平台基线:https://gitee.com/landonniao/linesno-cloud-service


推荐阅读
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 在深入掌握Spring框架的事务管理之前,了解其背后的数据库事务基础至关重要。Spring的事务管理功能虽然强大且灵活,但其核心依赖于数据库自身的事务处理机制。因此,熟悉数据库事务的基本概念和特性是必不可少的。这包括事务的ACID属性、隔离级别以及常见的事务管理策略等。通过这些基础知识的学习,可以更好地理解和应用Spring中的事务管理配置。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • 揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节
    揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节 ... [详细]
  • 本文推荐了六款高效的Java Web应用开发工具,并详细介绍了它们的实用功能。其中,分布式敏捷开发系统架构“zheng”项目,基于Spring、Spring MVC和MyBatis技术栈,提供了完整的分布式敏捷开发解决方案,支持快速构建高性能的企业级应用。此外,该工具还集成了多种中间件和服务,进一步提升了开发效率和系统的可维护性。 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • B站服务器故障影响豆瓣评分?别担心,阿里巴巴架构师分享预防策略与技术方案
    13日晚上,在视频观看高峰时段,B站出现了服务器故障,引发网友在各大平台上的广泛吐槽。这一事件导致了连锁反应,大量用户纷纷涌入A站、豆瓣和晋江等平台,给这些网站带来了突如其来的流量压力。为了防止类似问题的发生,阿里巴巴架构师分享了一系列预防策略和技术方案,包括负载均衡、弹性伸缩和容灾备份等措施,以确保系统的稳定性和可靠性。 ... [详细]
  • 本文深入探讨了如何选择适合业务需求的MySQL存储引擎,详细解析了不同存储引擎的特点、适用场景及其在数据存储和管理中的优势。通过对比InnoDB、MyISAM等主流引擎,为读者提供了全面的技术指导和专业建议,帮助开发者在实际应用中做出明智的选择。 ... [详细]
  • 本文深入解析了Django框架中的MVT(Model-View-Template)设计模式,详细阐述了其工作原理和应用流程。通过分析URL模式、视图、模型和模板等关键组件,读者将全面理解Django应用程序的架构体系,掌握如何高效地构建和管理Web应用。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • MySQL数据库安装图文教程
    本文详细介绍了MySQL数据库的安装步骤。首先,用户需要打开已下载的MySQL安装文件,例如 `mysql-5.5.40-win32.msi`,并双击运行。接下来,在安装向导中选择安装类型,通常推荐选择“典型”安装选项,以确保大多数常用功能都能被正确安装。此外,文章还提供了详细的图文说明,帮助用户顺利完成整个安装过程,确保数据库系统能够稳定运行。 ... [详细]
author-avatar
手机用户2502910651
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有