注意:本书中的 Service Mesh 章节已不再维护,请转到 istio-handbook 中浏览。 在了解一门技术之前一开始就要了解其中的基本概念和术语,只有融入了该语境才能理解这门技术。本文将为大家介绍 Envoy 中的基本术语和重点概念。 架构 下图是 Envoy proxy 的架构图,显示了 host B 经过 Envoy 访问 host A 的过程。每个 host 上都可能运行多个
注意:本书中的 Service Mesh 章节已不再维护,请转到 istio-handbook 中浏览。 本节是根据由Nginx赞助,O’Reilly出版社出品的关于服务网格的书籍总结而来,本书标题是 The Enterprise Path to Service Mesh ,还有个副标题 Decoupling at Layer 5 ,第一版发行于2018年8月8日。这本书一共61页,本文是我对该书
M称为M odel V iew C ontroller或MVC ,是用于开发Web应用程序的软件设计模式。 模型视图控制器模式由以下三个部分组成 - Model - 负责维护数据的模式的最低级别。 View - 负责向用户显示全部或部分数据。 Controller - 控制模型和视图之间交互的软件代码。 MVC很受欢迎,因为它将应用程序逻辑与用户界面层隔离开来,并支持关注点的分离。 Control
理论基础 概念 多微合适 非代码函数 非重写时间 适合团队最重要 独立业务属性 全功能团队 进程隔离 服务运行在独立的进程中 轻量级通信 协议跨平台 格式语言无关 独立性 独立开发 独立测试 独立部署 本质 服务作为组件 围绕业务组织团队 产品驱动而非项目驱动 技术多样性 业务数据独立 基础设施自动化 演进式架构 优点 按需伸缩 独立部署 业务独立 技术多样性 缺点 1. 运维成本高 环境配置(P
1.2 项目架构 一个由 faygo 创建的项目基本包含如下几部分: 新建框架实例 app := faygo.New("myapp", "0.1") 编写接口操作 type Index struct { Id int `param:"<in:path> <required> <desc:ID> <range: 0:10>"` Title st
Serverless 架构是指大量依赖第三方服务(也叫做后端即服务,即“BaaS”)或暂存容器中运行的自定义代码(函数即服务,即“FaaS”)的应用程序,函数是无服务 器架构中抽象语言运行时的最小单位。在这种架构中,我们并不看重运行一个函数需要多少 CPU 或 RAM 或任何其他资源,而是更看重运行函数所需的时间,我们也只为这些函数的运行时间付费。 注意事项 在本系列的文章中,主要采用了 Serv
在上一节《实施前端微服务化的六七种方式》中,介绍了在实施微前端的过程中,我们采用的一些不同方案的架构方案。在这篇文章中,我将总结如何依据不同的情况来选择合适的方案。 快速选型指南图 我还是直接先给结论: 关键点的相关解释如下: 框架限制。在后台微服务系统里,人们使用其它语言的库来开发新的服务,如用于人工智能的 Python。但是在前端,几乎不存在这种可能性。所以当我们的前端框架只有一个时,我们在采
9.14 一面 1h 1、项目介绍 2、RocketMQ和Kafka的区别 3、RocketMQ是如何保证消息顺序性的 4、RocketMQ的消息是如何存储的,对应的文件大小限制是多少 5、了解的限流中间件 6、介绍漏桶和令牌桶算法 7、虚拟内存 8、select和epoll的区别 9、虚函数如何实现 10、手撕:二叉树的最大宽度(lc662) 9.20 二面 1h 1、项目深挖 2、手撕:设计一
下午三点发短信约当天晚上七点半,晚上有别的事情遂申请把时间后延,第二天下午2.30开始面试。 两个面试官。 首先是男面试官: 自我介绍。 看你简历上面有一个华为云的园区网络去重项目,能展开讲讲嘛?你在项目里面主要做什么?针对是什么样的数据场景?你的路由器有这么强的算力和存储空间嘛?假如你的路由器在处理数据时内存爆了你应该怎么办?即兴发挥。 看你简历上面写了cmu15418,并行计算。你主要在什么地
主要内容:1.原则一:价值为王,2.原则二:以终为始,3.原则三:分治原则,4.原则四:服务自治,5.原则五:拥抱变化,6.原则六:简单即正义,7.原则七:尽量自动化,8.原则八:依赖最简,9.原则九:不作不死,10.原则十:容灾容错,11.原则十一:用成熟的技术1.原则一:价值为王 价值为王的另一种说法叫做YAGNI。YAGNI 是 You aren’t gonna need it 的缩写。该原则的基本含义就是,不应该开发任何当前不使用的功能。因为这些占用开发成本的功能,可能根本没有人用。而且
主要内容:1 从AQS学起,2 AQS的设计,2.1 固定方法,2.2 可重写的方法,2.3 模版方法,3 总体结构总结详细介绍了AQS的设计思想,以及总体设计结构。 1 从AQS学起 public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements Serializable AbstractQueuedSynchronizer,来自于JDK1.5,位于JUC包,由并发编
1. 软件架构与编译方法
我们已经知道怎样编译C++内核并通过GRUB启动该二进制文件,现在我们能够用C/C++做一些很酷的事了。 输出文本到屏幕控制台 我们继续使用 VGA 默认模式(03h) 来对用户显示一些文本。屏幕可以通过起始地址为0xB8000的Video Memory(显存)直接访问,屏幕分辨率是8025,每个字符在屏幕上被定义为2个字节:一个是字符码,另一个是属性字节(描述了字符的表现形式,包括了字符颜色等属
使用耦合度量来支持系统架构 大多数设计良好的软件架构都趋向于支持系统的可扩展性、可维护性和可靠性。遗憾的是,对质量问题的疏忽极可能使软件架构师的努力白费。在追求代码质量 系列的这一期文章中,质量专家 Andrew Glover 解释如何持续地监视并纠正会影响软件架构的长期生存能力的代码质量方面。 上一期文章中,我展示了如何使用代码度量来评估代码质量。尽管在那一期介绍的圈复杂度针对低级细节,如方法中
海外客户端平台架构部门-Android跨端方向 自我介绍,实习项目 浏览器中URL的运作过程 其中解析域名用的什么协议 arp和dns协议 三次握手的建立 为什么不是两次握手 如果服务端一直没收到客户端的消息的话怎么办 HTTP和HTTPS的区别 HTTPS的加密具体怎么做的 Handler里面的keep_alive是什么 Java泛型,泛型里面的类型编译之后还存在吗 泛型类型擦除 arrayli