
分布式
文章平均质量分 89
daiwei-dave
剖开表象,理解实质.一个领域深入的越深,扩展另一个领域时则更全面
展开
-
微服务架构设计
微服务(Microservice Architecture)是近几年流行的一种架构思想,关于它的概念很难一言以蔽之。究竟什么是微服务呢?简而言之,微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并与轻量级机制(通常是HTTP资源API)进行通信。这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署。这些服务的集中管理最少,可以用不同的编程语言编写,并使用不同的数据存储技术。原创 2024-11-13 11:19:24 · 1036 阅读 · 0 评论 -
分布式session解决方案
sessionId: 一个sessionId可以唯一标识一个用户,这样就可以简单地进行用户识别。sessionId可以保存到客户端,但session只能保存到服务器中。session共享(分布式session)将session存储到redis等分布式缓存数据库中,而不是应用服务器如tomcat内部中。这样就可以保证session的一致性。参考: 1.http://blog.youkuaiyun.com/agf原创 2018-02-23 17:53:40 · 2355 阅读 · 1 评论 -
ElasticSearch架构设计
领域专用语言Elasticsearch提供了基于JSON的DSL来定义查询。DSL由叶子查询子句和复合查询子句两种子句组成。原创 2024-03-13 10:15:52 · 1841 阅读 · 0 评论 -
raft协议
即 client 发送过来的数据均先到达 Leader 节点,Leader 接收到数据后,先将数据标记为 uncommitted 状态,随后 Leader 开始向所有 Follower 复制数据并等待响应,在获得集群中大于 N/2 个 Follower 的已成功接收数据完毕的响应后,Leader 将数据的状态标记为 committed,随后向 client 发送数据已接收确认,在向 client 发送出已数据接收后,再向所有 Follower 节点发送通知表明该数据状态为committed。原创 2022-11-20 17:46:55 · 276 阅读 · 0 评论 -
分布式事务
一、基础概念1.1 假如没有分布式事务在一系列微服务系统当中,假如不存在分布式事务,会发生什么呢?让我们以互联网中常用的交易业务为例子:上图中包含了库存和订单两个独立的微服务,每个微服务维护了自己的数据库。在交易系统的业务逻辑中,一个商品在下单之前需要先调用库存服务,进行扣除库存,再调用订单服务,创建订单记录。正常情况下,两个数据库各自更新成功,两边数据维持着一致性。但是,在非正常情况下,有可能库存的扣减完成了,随后的订单记录却因为某些原因插入失败。这个时候,两边数据..原创 2021-03-07 18:38:46 · 3624 阅读 · 1 评论 -
中台架构
背景没有中台的时代在传统IT企业,项目的物理结构是什么样的呢?无论项目内部的如何复杂,都可分为“前台”和“后台”这两部分。什么是前台?首先,这里所说的“前台”和“前端”并不是一回事。所谓前台即包括各种和用户直接交互的界面,比如web页面,手机app;也包括服务端各种实时响应用户请求的业务逻辑,比如商品查询、订单系统等等。什么是后台?后台并不直接面向用户,而是面向运营人员的配置管理系统,比如商品管理、物流管理、结算管理。后台为前台提供了一些简单的配置。前台、后台、用户之间的关系,可以用下图简单表原创 2016-08-13 19:54:55 · 511 阅读 · 0 评论 -
dubbo原理分析
一、基础概念Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。核心特性:远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机原创 2016-10-09 19:31:58 · 1606 阅读 · 1 评论 -
传统SOA架构
一、基础概念分布式处理则是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机通过通信网络连接起来, 在控制系统的统一管理控制下,协调地完成大规模信息处理任务的计算机系统。适用场景 1)性能瓶颈 首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算、存储任务的时候,且硬件的提升(加内存、加磁盘、使用更好的CPU)高昂到得不偿失的时候,应用程序也不能进一步优化的时候,......原创 2018-02-22 10:37:28 · 1754 阅读 · 0 评论 -
Zookeeper原理分析
一、基础概念 官方解释: ZooKeeper是面向分布式应用程序的分布式开源协调服务。它公开了一组简单的基元,分布式应用程序可以基于这些基元来实现更高级别的服务,以实现同步,配置维护以及组和命名。它被设计为易于编程,并且使用在文件系统熟悉的目录树结构之后的样式的数据模型。它运行在Java中,并具有Java和C的绑定。协调服务是非常难以正确的。他们特别容易出现诸如竞赛状况和僵局等错误。ZooKe...原创 2018-02-02 11:47:23 · 4790 阅读 · 2 评论 -
分布式锁设计
一、基础概念 分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。 在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源原创 2018-01-31 18:07:24 · 621 阅读 · 1 评论 -
RPC原理分析和架构设计要点
一、基础概念RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的 RPC。会两方面会直接影响 RPC 的性能,一是传输方式,二是序列化。但rpc在实际...原创 2018-01-31 11:44:22 · 2994 阅读 · 0 评论