首页 > 其他分享 >SCS(- )架构介绍

SCS(- )架构介绍

时间:2024-08-19 21:26:52浏览次数:12  
标签:Web 架构 系统 介绍 UI 团队 SCS

SCS(- )架构介绍


SCS(- )架构定义与特性

image

  • 自主Web应用:SCS是一个自主的Web应用程序,包含Web UI、逻辑和持久化层。这种完整性确保了一个用户故事通常可以通过修改一个SCS来实现。
  • API的可选性:SCS可以有一个服务API,但这并非必需。如果SCS内的逻辑仅由SCS内的UI使用,则无需API。
  • 无共享UI:SCS之间不应共享UI,以避免紧密耦合和不必要的复杂性。



image

  1. SCS与微服务的关系
    • 类似但更精确:SCS与微服务在可独立部署和解耦方面相似,但SCS的定义更为精确,通常粒度更粗。
    • 单个功能实现:SCS确保一个功能仅在一个SCS中实现,从而通过单一部署即可将其投入生产。
  2. Bounded Context与DDD
    • Bounded Context:每个SCS应实现一个Bounded Context,通过用户故事分组来找到这些Bounded Context。
    • 用户故事与旅程:通过用户故事和用户旅程来确定SCS的划分,每个步骤或需求可能是一个SCS的候选。
  3. SCS的沟通与交互
    • UI集成:UI集成是首选的SCS间沟通方式,包括JavaScript转码、ESI和SSI等技术。
    • 异步与同步通信:异步通信(如事件和消息传递)是推荐的沟通方式,同步通信则作为最后手段。
  4. 团队与所有权
    • 单一团队拥有:每个SCS由单一团队拥有,确保团队可以独立工作,并减少协调需求。
  5. 技术优势与限制
    • 技术优势:SCS提供了高开发生产力和低技术复杂性,因为它们通常是传统的Web应用程序。
    • 限制:SCS主要适用于Web系统,且可能需要对前端开发有一定的技能要求。
  6. 实际应用与案例
    • Otto案例:Otto等大型电商公司采用SCS架构,证明了其在复杂Web应用中的有效性。
  7. 迁移与实现难度
    • 迁移挑战:如果现有架构依赖于不同的方法,迁移到SCS架构可能具有挑战性。
    • 实施要求:对Web应用程序的深入理解是实现SCS架构的重要前提。



单体

image

微服务

image

SCS

image



为什么自包含系统 (SCS) 比微服务更具优势:

image

更广泛的范围:SCS 具有更广泛的范围,包括边界上下文中的 UI、业务逻辑和数据存储

  降低运营复杂性:由于管理许多较小的、相互依赖的服务,微服务可能会导致高水平的运营复杂性,而 SCS 更重要、更自主。

  数据一致性:SCS 管理其数据,从而在每个系统内实现更好的数据一致性,而微服务通常依赖于共享数据存储。


使用SCS架构优势

image

1. 自治 - 每个 SCS 都独立运行,具有其数据库、业务逻辑和用户界面。

2. 领域对齐 - SCS 围绕特定的业务领域构建,确保每个单元代表一组连贯且有意义的功能。

3. 去中心化数据管理 - 每个 SCS 的单个数据库确保其边界内的数据一致性,减少跨服务依赖性。

4. 技术多样性 - 允许在其他 SCS 中使用不同的技术堆栈,以满足每个领域的特定需求。

5. 显式发布的接口 - 定义明确的接口,用于与其他系统的交互,在保持封装的同时保持清晰的契约。

6. 独立可部署性 - 每个 SCS 都可以独立部署、扩展和更新,而不会影响其他系统。


结论

      SCS是一种微服务架构的实践方法,它通过将系统划分为自主的Web应用程序(SCS),实现了高度的解耦和独立部署。SCS强调每个SCS实现一个Bounded Context,并通过UI集成和异步通信等方式保持低耦合。SCS适用于复杂的Web系统,并提供了高开发生产力和低技术复杂性的优势。然而,其实现需要对Web应用程序有深入的理解,并且迁移到SCS架构可能具有挑战性。



今天先到这儿,希望对AIGC,云原生,技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,信息安全,团队建设 有参考作用 , 您可能感兴趣的文章:
构建创业公司突击小团队
国际化环境下系统架构演化
微服务架构设计
视频直播平台的系统架构演化
微服务与Docker介绍
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与个人目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变

如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:

image_thumb2_thumb_thumb_thumb_thumb[2]

作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 该文章也同时发布在我的独立博客中-Petter Liu Blog。

标签:Web,架构,系统,介绍,UI,团队,SCS
From: https://www.cnblogs.com/wintersun/p/18368156

相关文章

  • 卷积神经网络的介绍
    1.卷积是什么定义卷积 是一种积分变换的数学方法。它是定义在两个函数上的数学运算。数学定义:设f(x)g(x)是两个可积函数,做积分:                        可以证明,关于几乎所有的实数x,上述积分是存在的。随着x的不同取值,这个积分就定义了一......
  • 【OCPP】ocpp1.6协议第5.11章节Remote Start Transaction的介绍及翻译
    目录5.11RemoteStartTransaction-概述1.目的2.消息类型2.1RemoteStartTransaction.req2.2RemoteStartTransaction.conf3.流程描述4.状态和值域5.特殊情况5.11远程启动交易RemoteStartTransaction-原文译文5.11RemoteStartTransaction-概述在OCPP......
  • 【系统架构设计】开发方法(一)
    【系统架构设计】开发方法(一)软件生命周期软件开发模型瀑布模型核心思想瀑布V模型缺点演化模型螺旋模型增量模型构件组装模型统一过程敏捷方法软件重用基于架构的软件设计形式化方法软件生命周期指软件自开始构思与研发到不再使用而消亡的过程。在GB8566-88(《软件工......
  • 【Mac】iTerm for mac(终端工具)软件介绍及安装教程
    软件介绍iTerm是macOS上一个非常受欢迎的终端仿真器,提供了比默认的Terminal应用更多的功能和定制选项。它是一款开源软件,主要用于命令行界面的操作和开发者工具。主要特点和功能:分页和标签:iTerm允许用户在单个窗口中使用多个标签页和分页。这使得在多个终端会话之......
  • 【Mac】Pixelmator Pro for Mac(媲美PS的修图软件)软件介绍
    软件介绍PixelmatorPro是一款功能强大的图像编辑软件,专为macOS平台设计。它结合了丰富的图像编辑功能和直观的用户界面,适合专业摄影师、设计师以及图像编辑爱好者。以下是PixelmatorPro的一些主要特点和功能介绍:功能特色非破坏性编辑PixelmatorPro支持非破坏性图像......
  • 让沟通成为实用主义的测试架构师
    谈到沟通,你可能无法充分沟通,寻求清除,一贯,持续地沟通,这会让你和团队其他个人干的更顺畅高效。实用型测试架构师的第三个关键地方是为沟通带来清晰性,除非你注重清楚、一贯、持续的沟通,否则你所有的卓越架构努力都会被低效率或欠缺的沟通方式毁于一旦。任何沟通隔阂都会被其他东......
  • HDMI切换器(2进1,1进2,三切1)介绍
    目录HDMI介绍:二进一出HDMI切换器:通俗的解释:一进二出HDMI切换器:通俗解释:HDMI1进2和2进1的区别:三进1出HDMI切换器:通俗的解释:HDMI介绍:HDMI描述全称高清多媒体接口(HighDefinitionMultimediaInterface)类型全数字化视频和声音发送或接收接口主要功能发送未压......
  • 王苏安说钢材@309s不锈钢无缝管的工艺流程详细介绍
    309S不锈钢无缝管的工艺流程一共分为五步,分别是①切割、②弯曲、③成型、④焊接、⑤表面处理  ①切割:309s不锈钢无缝管的切割方法有剪切、火焰切割、机械切割、等离子切割等,其中薄型材料可以用剪切或切割机进行,厚型材料可以用火焰切割和等离子切割。  ②弯曲:冷弯能够让3......
  • 【面试】介绍几种常见的进程调度算法及其流程
    面试模拟场景面试官:你能介绍一下几种常见的进程调度算法及其流程吗?参考回答示例进程调度是操作系统管理进程的核心功能,负责在多任务环境中分配CPU时间给各个进程。常见的进程调度算法包括先来先服务(FCFS)、短作业优先(SJF)、优先级调度、轮转调度(RR)以及多级反馈队列调度等......
  • jsoncpp 介绍
    前言全局说明VisualStudio2013jsoncpp编译一、说明环境:Windows7旗舰版VisualStudio2013二、常用的JSON解析库有:(ChatGPT)nlohmann/json(一个现代C++JSON库)https://github.com/nlohmann/json/releasesJsonCpp(一个常见的JSON解析库)https://github.com......