Browsed by
标签:WebSocket

WebSocket从入门到精通,半小时就够!

WebSocket从入门到精通,半小时就够!

閱讀本文約花費: 27 (分鐘)自从HTML5里的WebSocket出现后,彻底改变了以往Web端即时通讯技术的基础通道这个“痛点”(在此之前,开发者们不得不弄出了诸如:短轮询、长轮询、Comet、SSE等技术,可谓苦之久矣…),如今再也不用纠结到底该用“轮询”还是“Comet”技术来保证数据的实时性了,幸福来得就是如此突然 ^-^。 WebSocket如今不仅在Web应用里使用广泛,也慢慢被开发者们应用到各种那些原本使用TCP、UDP这类协议的富客户端(比如移动端中)。 有鉴于此,对于即时通讯方向的开发者来说,全面深入的了解WebSocket是非常有必要的,面试时也少不了会考察这方面的知识。 所以,即时通讯网在建站至今的几年时间里,持续整理了一大批跟Web端即时通讯有关的技术文章(这基中尤其WebSocket方面的文章最多)。本文也是一篇关于WebSocket从入门到精通的文章,内容由浅入深,比较适合想要在短时间内较深入的了解WebSocket协议的开发者学习。 《WebSocket详解(一):初步认识WebSocket技术》 《WebSocket详解(二):技术原理、代码演示和应用案例》 《WebSocket详解(三):深入WebSocket通信协议细节》 《WebSocket详解(四):刨根问底HTTP与WebSocket的关系(上篇)》 《WebSocket详解…

Read More Read More

聊聊ServiceMesh 数据面板 Envoy

聊聊ServiceMesh 数据面板 Envoy

閱讀本文約花費: 27 (分鐘)Envoy 简介 在 Service Mesh 模式中,每个服务都配备了一个代理“sidecar”,用于服务之间的通信。这些代理通常与应用程序代码一起部署,并且它不会被应用程序所感知。Service Mesh 将这些代理组织起来形成了一个轻量级网络代理矩阵,也就是服务网格。这些代理不再是孤立的组件,它们本身是一个有价值的网络。其部署模式如图所示: 绿色部分代表应用程序 蓝色部分则是sidecar 服务网格是用于处理服务到服务通信的“专用基础设施层”。它通过这些代理来管理复杂的服务拓扑,可靠地传递服务之间的请求。 从某种程度上说,这些代理接管了应用程序的网络通信层。 Envoy是 Service Mesh 中一个非常优秀的 sidecar 的开源实现。我们就来看看 Envoy 都是做些什么工作。 Envoy 用到的几个术语 Host: 通常我们将 Host 看做是一个具备网络通信功能的实体(可以是一台物理机,也可以是一台移动设备等等) 。在 Envoy 中,host 是一个逻辑网络中的应用. 可能运行在由有多个主机组成的底层硬件,只要它们各自独立寻址。 Downstream: 请求发起者(服务请求方)。 Upstream: 请求接收者(服务提供方)。 Listener: 服务(程序)监听者。就是真正干活的。 envoy 会暴露一个或者多个listene…

Read More Read More

浅谈服务治理、微服务与Service Mesh

浅谈服务治理、微服务与Service Mesh

閱讀本文約花費: 48 (分鐘)SOA与服务治理 SOA(面向服务的体系结构)概念由来已久,在10多年前便开始进入到我们广大软件开发者的视线中。SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、Web Service技术之后的自然延伸。 服务治理,也称为SOA治理,是指用来管理SOA的采用和实现的过程。以下是在2006年时IBM对于服务治理要点的总结: l 服务定义(服务的范围、接口和边界) l 服务部署生命周期(各个生命周期阶段) l 服务版本治理(包括兼容性) l 服务迁移(启用和退役) l 服务注册中心(依赖关系) l 服务消息模型(规范数据模型) l 服务监视(进行问题确定) l 服务所有权(企业组织) l 服务测试(重复测试) l 服务安全(包括可接受的保护范围) 限于当时的技术发展水平,广大软件设计与开发人员对于SOA和服务治理的技术认知还主要停留在Web Service和ESB总线等技术和规范上,并没有真正在软件开发中得以充分落地。 Dubbo开源 直到2011年10月27日,阿里巴巴开源了自己的SOA服务化治理方案的核心框架Dubbo,服务治理和SOA的设计理念开始逐渐在国内软件行业中落地,并被广泛应用。 Dubbo作为阿里巴巴内部的SOA服务化治理方案的核心框架,在2012年时已经…

Read More Read More

《微服务架构设计模式》之二:服务的拆分策略

《微服务架构设计模式》之二:服务的拆分策略

閱讀本文約花費: 67 (分鐘) 2.1 微服务架构到底是什么第1章描述了微服务架构的关键思想是如何进行功能分解。你可以将应用程序构建为一组服务,而不是开发一个大型的单体应用程序。一方面,将微服务架构描述为一种功能分解是有用的。但另一方面,它留下了几个未解决的问题,包括:微服务架构如何与更广泛的软件架构概念相结合?什么是服务?服务的规模有多重要?为了回答这些问题,我们需要退后一步,看看软件架构的含义。软件的架构是一种抽象的结构,它由软件的各个组成部分和这些部分之间的依赖关系构成。正如你将在本节中看到的,软件的架构是多维的,因此有多种方法可以对其进行描述。架构很重要的原因是它决定了应用程序的质量属性或能力。传统上,架构的目标是可扩展性、可靠性和安全性。但是今天,该架构能够快速安全地交付软件,这一点非常重要。你将了解微服务架构是一种架构风格,可为应用程序提供更高的可维护性、可测试性和可部署性。我将通过描述软件架构的概念及其重要性来开始本节。接下来,我将讨论架构风格的概念。然后我将微服务架构定义为特定的架构风格。让我们从理解软件架构的概念开始。2.1.1 软件架构是什么,为什么它如此重要架构显然很重要。至少有两个专门讨论该主题的会议:Oreilly的软件架构会议和SATURN会议。许多开发人员的目标是成为一名架构师。但什么是架构,为什么它如此重要?为了回答这个问题,我首先定义术语软件架构…

Read More Read More

Istio服务网格实践指南 学习笔记-Istio架构

Istio服务网格实践指南 学习笔记-Istio架构

閱讀本文約花費: 14 (分鐘)这幅图中描述了以下内容: 1.Istio 可以在虚拟机和容器中运行 2.Istio 的组成 Pilot:服务发现、流量管理 Mixer:访问控制、遥测 Citadel:终端用户认证、流量加密 3.Service mesh 关注的方面 可观察性 安全性 可运维性 4.Istio 是可定制可扩展的,组建是可拔插的 5.Istio 作为控制平面,在每个服务中注入一个 Envoy 代理以 Sidecar 形式运行来拦截所有进出服务的流量,同时对流量加以控制 6.应用程序应该关注于业务逻辑(这才能生钱),非功能性需求交给 Service Mesh 为什么要使用Istio Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有负载均衡、服务间认证、监控等功能,而不需要对服务的代码做任何改动。想要让服务支持 Istio,只需要在您的环境中部署一个特殊的 sidecar 代理,使用 Istio 控制平面功能配置和管理代理,拦截微服务之间的所有网络通信: 1.HTTP、gRPC、WebSocket 和 TCP 流量的自动负载均衡。 2.通过丰富的路由规则、重试、故障转移和故障注入,可以对流量行为进行细粒度控制。 3.可插入的策略层和配置 API,支持访问控制、速率限制和配额。 4.对出入集群入口和出口中所有流量的自动度量指标、日志记录和跟踪。 5.通过强大…

Read More Read More

Scroll Up