首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏超级架构师

    (4) 微服务架构采用准则

    顾名思义,微服务体系结构是将服务器应用程序构建为一组小型服务的方法。这意味着微服务架构主要面向后端,尽管这种方法也用于前端。 每个微服务在特定的上下文边界内实现特定的端到端域或业务能力,并且每个微服务都必须自主开发和独立部署。 最后,每个微服务都应该拥有其相关的域数据模型和域逻辑(主权和分散的数据管理),并且可以基于不同的数据存储技术(SQL、NoSQL)和不同的编程语言。 微服务应该有多大? 在开发微服务时,大小不应该是重点。相反,重要的一点应该是创建松散耦合的服务,这样您就可以为每个服务自主地进行开发、部署和扩展。 当然,在识别和设计微服务时,只要不与其他微服务有太多直接依赖关系,就应该尽量使它们尽可能小。比微服务的大小更重要的是它必须具有的内部内聚性及其与其他服务的独立性。

    35731发布于 2020-07-18
  • 来自专栏超级架构师

    服务与SOA架构(4

    应用范围 应用范围是指某种架构可以支持的应用的总体规模。例如,内核或者管道架构更适合较小的应用或者子系统,而其他模式如事件驱动的架构则适合于大型、更复杂应用。 如图4-1所示,事实上,了解服务客户与服务之间所采用的远程访问协议并不意味着就了解任何一方是如何实现的,也不意味着双方在实现上要保持一致。 例如,如图4-2所示,在.NET平台上用C#实现的某个服务客户端可以使用REST调用对应的服务,但是服务(本例中是EJB3 Bean)只能使用RMI通信。 图4-2 如果你发现自己所处的是异构环境,需要对多种使用不同协议的系统或者服务进行整合,那么很可能需要采用SOA架构而不是微服务架构。 通过转换,可以允许客户采用与服务不同的协约,当发生合约变更发生时,消息中间件可以屏蔽这些差异。 ? 图4-3 合约解耦显然有一些使用上的局限。

    1.3K40发布于 2018-04-09
  • 来自专栏ytkah

    信无法连接到服务器怎么诊断网络【信高级教程3】

      有时我们出门在外难免会出现网络信号不好的时候,信会提示“无法连接到服务器”,可能还会弹出一个“诊断网络”的按钮窗口。要是没弹出怎么弄呢?其实信早就藏着这个彩蛋了,我们没挖掘到而已。    在信任意聊天窗口输入 //traceroute 并发送,还可以调出“诊断网络”功能。 ?   当信突然连接网络失败却又无法解决的时候,可以尝试一下。

    6.6K100发布于 2018-03-06
  • 来自专栏架构师之路

    服务架构多“”才合适?

    )耦合 (4)SQL质量得不到保障,业务相互影响 (5)数据库耦合 “服务化”是一个很好的解决上述痛点的方案。 二、互联网微服务架构多“”才适合 大家也都认可,随着数据量、流量、业务复杂度的提升,服务架构架构演进中的必由之路,今天要讨论的话题是:微服务架构多“”才合适? 细节:信单对单消息是一个写多读少的业务,故没有缓存。 垂直拆分是个好的方案,将子业务一个个拆出来,那么信的服务架构或许会变成这个样子: ? 扩展性更好 (6)… 细粒度拆分的不足也很明显: (1)拆得越细,系统越复杂 (2)系统之间的依赖关系也更复杂 (3)运维复杂度提升 (4)监控更加复杂 (5)出问题时定位问题更难 (6)… 关于微服务架构

    1.6K61发布于 2018-03-01
  • 来自专栏汽车软件工程师

    UDS诊断之37服务

    RequestTransferExit(0x37)—— 请求传输退出 这个服务是用来终止数据传输的(上传/下载)。 1.服务请求报文定义 图1 服务请求报文定义 Sub-Function: 本服务没有子服务服务请求报文中参数定义: transferRequestParameterRecord:用来传输的数据,格式和长度是由车厂自定义的。 3.支持的NRC 图3 0x37服务支持的NRC 4.示例 此示例分为3步: Step 1: 用户和ECU之间通过RequestDownload(0x34)服务来交换数据。 测试条件: (1)IG = ON (2)Engine = OFF (3)Vehicle Speed = 0 kph 报文示例: Step 1:请求RequestDownload(0x34)服务 发送请求

    2.8K20编辑于 2022-05-25
  • 来自专栏汽车软件工程师

    UDS诊断之10服务

    DiagnosticSessionControl(0x10)——诊断会话控制 这个服务的主要作用就是使能不同的诊断会话,不同的诊断会话包含了不同的诊断服务或者功能,这个服务就实现了不同诊断会话之间的切换 ECU上电之后会进入默认会话(default),当Client请求一个诊断会话服务,如果这个会话已经运行,则回复肯定响应。 进入其他session,default session的功能仍可用。 要想进入一个新的诊断会话,特定的条件需要满足,这些条件由用户定义。 下图是不同session所支持的服务一览: 图2 不同session所支持的服务 服务请求报文格式 图3 服务请求报文格式 图4 sub-function描述(1) 图5 sub-function sessionParameterRecord定义 图9 sessionParameterRecord值定义 可支持否定响应NRC 图10 可支持否定响应NRC 示例 发送请求:10 02 肯定响应:50 02 00 32 01 F4

    2.6K10编辑于 2022-05-25
  • 来自专栏汽车软件工程师

    UDS诊断之27服务

    SecurityAccess(0x27)—— 安全访问 这个服务的目的是为那些限制访问,以及和排放、安全相关的一些服务和数据提供一些访问权限来保护数据。 此服务执行步骤如下: (1)Client请求一个种子(Seed); (2)Server发送种子(Seed); (3)Client再根据相应算法算出一个匹配这个种子(Seed)的钥匙(Key)并发送给Server ; (4)Server也根据相同算法算出一个钥匙(Key)与Client发送过来的Key进行对比,一致则解锁。 Sub-function为发送Key 图2 请求报文格式(2) (3)Sub-function参数定义 图3 Sub-function参数定义 2.响应报文定义 响应报文数据参数定义: 图4

    5K40编辑于 2022-05-25
  • 来自专栏Java架构师历程

    服务信的架构实践

    作者|许家滔 编辑|田光 微服务的理念与腾讯一直倡导的“大系统小做”有很多相通之处,本文将分享信后台架构服务发现、通信机制、集群管理等基础能力与其上层服务划分原则、代码管理规则等。 过去几年,信都是很敏捷地在开发一些业务。所以我们的底层架构需要支撑业务的快速发展,会有一些特殊的需求。 另外,目前整个信团队已经有一千多人了,开发人员也有好几百。 三、高并发 基础架构 接下来看看我们的基础架构。 ? 整个微服务架构上,我们通常分成这些部分: 服务布局 服务之间怎么做一些远程调用 容错(主要讲一下过载保护) 部署管理 服务布局 ? 早年我们 QQ 邮箱、信、图像压缩、反垃圾都是一个 web 服务,只有存储层会独立到后面去,甚至用 web 直连 MySQL。因为它早期比较小,后来变大之后就用微服务架构。 2011 年起负责信后台基础架构,包括分布式存储平台和后台服务框架等,覆盖信账号 / 消息 / 朋友圈核心存储等,并为公众号 / 信支付 / 信企业号等等业务提供组件支持,近两年专注于后台服务质量提升和高性能架构

    4.3K32发布于 2018-09-26
  • 来自专栏汽车软件工程师

    UDS诊断之31服务

    RoutineControl(0x31)—— 例程控制 这个服务是用来执行一系列操作序列的,是笔者见过的用途最广泛的一个服务,可以根据需求进行一些服务定制,例如擦除内存,一些自学习流程,故障自检测,配置某些数据参数等 例程控制可以用来进行以下操作: 开始一个例程 结束一个例程 查看例程执行结果 1.服务请求报文定义 图1 服务请求报文定义 Sub-function定义: 图2 0x31服务支持的子服务 2.肯定响应 routineStatusRecord:提供一些额外的信息,也是自定义的 3.支持的NRC 图4 支持的NRC 4.示例 (1)Sub-function = startRoutine 发送请求 Sub-function = requestRoutineResult 发送请求:31 03 02 01 肯定响应:71 03 02 01 30 33 8F(报文最后三个字节为汽车制造商自定义的状态) (4) ,与之类似的还有一个0x2F服务,只是对比31服务2F服务应用范围较窄,一般可以模拟一下车的灯光控制等,但是如果较复杂的流程的话还是用31服务多一些,感兴趣的读者可以自行了解一下。

    12.6K10编辑于 2022-05-25
  • 来自专栏汽车软件工程师

    UDS诊断之34服务

    1.服务请求报文定义 图1 服务请求报文定义 Sub-Function: 本服务没有子服务服务请求报文中参数定义: (1)dataFormatIdentifier 这个参数为1字节长度,高4位表示“compressionMethod”,低4位表示“encryptingMethod”(注:这里小编暂时不知道这两种 bit 7 - 4:参数memorySize的长度(Bytes) bit 3 - 0:参数memoryAddress的长度(Bytes) (3)memoryAddress 开始下载数据的起始位置的地址。 (4)memorySize 这个参数用来把传输数据和内存进行对比,这种操作增加了下载数据的安全性。 3.支持的NRC 图3 0x34服务支持的NRC 4.示例 由于0x34服务一般和0x36服务是配套使用的,在后续文章介绍0x36服务后,会一起进行示例展示。

    4.8K40编辑于 2022-05-25
  • 来自专栏汽车软件工程师

    UDS诊断之36服务

    TransferData (0x36)—— 数据传输 这个服务通常是用来下载/上传数据时用的,数据的传输方向由不同的服务控制:0x34服务表示下载,0x35服务表示上传。 0x36服务包含了一个blockSequenceCounter,在多个服务请求序列失败的时候以提高错误处理机制。 在接收到0x34/0x35服务以后,blockSequenceCounter会被初始化为1。 1.服务请求报文定义 图1 服务请求报文定义 Sub-Function: 本服务没有子服务服务请求报文中参数定义: (1)blockSequenceCounter 这个值在第一次初始化的时候为0x01,往后每增加一次0x36服务的请求这个值也跟着增加1,直到增加到0xFF,会重新再从0x00 3.支持的NRC 图3 0x36服务支持的NRC 4.示例 后续讲完0x37服务后展示。

    5.4K20编辑于 2022-05-25
  • 来自专栏汽车软件工程师

    UDS诊断之28服务

    1.请求报文定义 图1 服务请求报文定义 Sub-Function定义: 图2 支持的子服务 数据参数定义: 图3 数据参数定义 communicationType定义: 图4 可控制报文类型 图5 nodeIdentificationNumber定义 2.肯定响应 图6 肯定响应报文格式 图7 数据参数定义 3.支持的NRC 图8 服务支持的NRC 4.示例 (1)关闭网络管理帧 发送请求:28 01 02 肯定响应:68 01 (2)当地址为0x000A的节点接入网络时,将远程网络切换至仅诊断调度模式 发送请求:28 04 01 00 0A 肯定响应:68 04 0x28就是一个通信控制的服务 ,根据需求你想让什么类型的报文进行通信或者不让其进行通信,就可以用0x28服务来进行设置。 例如bootloader刷写之前或者某些例程控制的时候可能会要求停止网络诊断功能等,就可以利用0x28服务来进行控制。

    4.2K10编辑于 2022-05-25
  • 来自专栏前端博客

    前端学习笔记(1):前端总体架构概述,从微服务

    ,反观java 世界,学好 Spring MyBatis ,一路无忧,哎……微服务为了解决庞大的一整块后端服务带来的变更与扩展方面的限制,出现了微服务架构(Microservices):微服务是面向服务架构 前端是一种类似于微服务架构,它将微服务的理念应用于浏览器端,即将单页面前端应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立开发、独立部署。 前端前端是一种类似于微服务架构,是一种由独立交付的多个前端应用组成整体的架构风格,将前端应用分解成一些更小、更简单的能够独立开发、测试、部署的应用,而在用户看来仍然是内聚的单个产品。 微服务架构,可以解耦后端服务间依赖。而前端,则关注于聚合前端应用。热闹驱动开发。新的技术,既然很热闹,那么就学吧。前端的实现,意味着对前端应用的拆分。 这整个过程跟webpack5是没有绑定关系的,也就是说MF并非webpack5的专属功能,Rollup和webpack4都可以实现MF。

    1.2K10编辑于 2024-06-06
  • 来自专栏开发经验

    架构的未来:前端与微服务的融合

    文章目录 微服务架构简介 前端架构简介 前端与微服务的融合 1. 共享服务 2. 基于事件的通信 3. 统一的身份和认证 4. 交付管道的集成 示例:使用微服务前端的电子商务平台 微服务架构 前端架构 融合微服务前端 结论 欢迎来到架构设计专栏~架构的未来:前端与微服务的融合 ☆* o(≧▽≦)o *☆嗨~我是 ❤️ 在当今快速发展的软件开发领域,架构设计一直是一个不断演化的领域。随着技术的不断发展,我们看到了微服务架构前端架构这两种新兴的架构风格的崭露头角。 前端与微服务的融合 虽然微服务前端是两种不同的架构风格,但它们之间存在许多共通之处。它们都强调了模块化、独立开发和部署的概念。 同样,在前端架构中也需要确保用户可以正确访问各个前端模块。通过集成统一的身份和认证解决方案,可以确保微服务前端模块之间的一致性,同时提供更好的安全性。 4.

    84310编辑于 2023-12-13
  • 来自专栏超级架构师

    前端架构】AWS 上的前端架构

    服务架构的特点是独立服务,这些服务专注于特定的业务功能,并由小型、自包含的团队维护。微服务架构经常用于在 AWS 上开发的 Web 应用程序,这是有充分理由的。 前端架构将微服务开发原则引入前端应用程序。在前端架构中,开发团队独立构建和部署“子”前端应用程序。这些应用程序由“父”前端应用程序组合而成,该前端应用程序充当容器来检索、显示和集成各种子应用程序。 带有前端的微服务后端 前端的好处 与单体前端相比,前端具有以下优势: 独立工件:微服务开发的核心原则是工件可以独立部署,这对于前端仍然适用。 在前端架构中,团队应该能够独立部署他们的前端应用程序,而对其他服务的影响最小。这些更改将反映在父应用程序中。 自治团队:每个团队都是各自领域的专家。例如,计费服务团队成员具有专业知识。 结论 前端架构为前端应用程序引入了微服务开发的许多熟悉的好处。前端架构还允许您管理小型独立组件,从而简化构建复杂前端应用程序的过程。

    2.5K10编辑于 2022-03-08
  • 来自专栏汽车软件工程师

    UDS诊断之3E服务

    TesterPresent(0x3E)—— 会话保持 这个服务的目的是确保诊断服务或者之前激活的通信还处在激活的状态,可以保持当前的非默认(Default Session)会话,通过周期地发送请求帧来阻止自动跳转回默认 1.服务请求报文定义 图1 服务请求报文定义 Sub-Function定义: 图2 支持的子服务 注意上图为Bit 6 ~ 0的定义,Bit 7(supportPosRspMsgIndicationBit 本服务不支持有数据参数的报文。 2.肯定响应 图3 肯定响应报文定义 3.支持的NRC 图4 服务支持的NRC 4.示例 在举例之前先来了解下supportPosRspMsgIndicationBit,在ISO14229-1 ,为了使这些服务在写DID的时候是在激活状态,就会使用0x3E使这些服务保持在激活状态,以完成写DID的操作。

    4.3K40编辑于 2022-05-25
  • 来自专栏对线JAVA面试

    系统架构性能问题诊断及优化思路

    今天谈下业务系统性能问题分析诊断和性能优化方面的内容。这篇文章重点还是谈已经上线的业务系统后续出现性能问题后的问题诊断和优化重点。 在32位操作系统下只能够设置到4G,但是在64位操作系统下已经可以设置到8G甚至更大的值。 ,即FullGC之后的老年代内存占用的3-4倍。 第二个点也是我们经常谈的比较多的点,就是我们的业务系统在进行架构设计的时候,特别是面对非功能性需求,我们都会谈到系统本身的数据库,中间件都采用了集群技术,能够做到弹性水平扩展。 比如我们提交一个表单很慢,通过APM分析我们很容易发现究竟是调用哪个业务服务慢,或者是处理哪个SQL语句慢。这样可以极大的提升我们性能问题分析诊断的效率。 END

    77120编辑于 2022-10-27
  • 来自专栏汽车软件工程师

    UDS诊断之222E服务

    1.1 服务请求报文定义 图1 0x22服务请求报文格式 注:服务请求报文可以请求一个或者多个DID。 1.2 肯定响应 图2 0x22服务肯定响应报文格式 1.3 支持的NRC 图3 0x22服务支持的NRC 1.4 示例 (1)读汽车VIN码 肯定响应从第4个字节开始的,即为读出的VIN码 2.1 服务请求报文定义 图4 0x2E服务请求报文格式 本服务不支持Sub-function。 2.2 肯定响应 图5 0x2E服务肯定响应报文格式 2.3 支持的NRC 图6 0x2E服务支持的NRC 2.4 示例 写入VIN码。 3 总结 在上述两个服务中,还涉及到Flash的读写擦除操作,当然这些就是服务请求函数内部如何实现的了,如有机会会和读者朋友们分享。

    6.3K30编辑于 2022-05-25
  • 来自专栏高性能服务器开发

    4 关于游戏服务架构的整理

    4. 当前主流的网络游戏架构 ? 注:在GateServer和CenterServer之间是有一条TCP连接的。而GameServer和LogServer之间的连接可以是UDP连接。 一种简单实用的网络游戏服务架构 下图中每个方框表示一个独立的进程APP组件,每个服务进程如果发生宕机会影响部分用户,整体服务但不会全部中断。在宕机进程重启后,又可以并入整体,全部服务得以继续。 ? (毕竟连接次数少了,也降低了连不上服务器的出现几率) 在这个架构里面,GameServer实际上是一个游戏逻辑的综合体,里面可以再去扩展成几个不同的逻辑服务器,通过PublicServer进行公共数据交换 而且,它还是一个用户信息的验证服务器,GameServer需要通过它来进行客户端的合法性验证,以及获取玩家选择 的角色数据信息。 采用这种架构的游戏,通常有以下表现。 4- 帐号验证完成之后,进行区内的服务器选择。 5- 服务器选择完成之后,进入角色管理。同时,角色在不同的服务器里不能共享。

    3.4K72发布于 2018-07-25
  • 来自专栏数据猿

    信许家滔:信10亿日活场景下,后台微服务架构及存储架构实践!

    年5月上线了语音对讲、查看附近的人;2012年4年发布了里程碑式的朋友圈功能;2013年游戏中心、表情商店、信支付等。 02 信后台的系统架构 逻辑上讲,最前面会有一个终端,后面会有一个长链接接入层,在线有几亿的管理连接部分。 4.数据存取压力大。后台数据服务节点,每分钟超过百亿次数据存取服务。 ? 上面提到的这个论文是信PaxosStore的一点创新,贡献出了一些简洁的算法实现流程,大家可以很轻松的去理解和实现。 06 PaxosStore整体架构 PaxosStore整体架构,如下图。 09 信微服务架构框架 微服务包含了服务定义、服务发现、错误重试、监控容灾、灰度发布等一系列面向服务的高级特性的统一框架。

    6.3K435发布于 2020-03-19
领券