RPC
good-destiny
这个作者很懒,什么都没留下…
展开
-
Thrift框架(一):安装与编写c++ demo
1、Thrift基础1.1 数据类型基本类型:bool:布尔值,true 或 false,对应 C++ 的 bool byte:8 位有符号整数,对应 C++ 的 byte i16:16 位有符号整数,对应 C++ 的 short i32:32 位有符号整数,对应 C++ 的 int i64:64 位有符号整数,对应 C++ 的 long double:64 位浮点数,对应 ...原创 2020-04-15 19:10:14 · 2769 阅读 · 0 评论 -
ZooKeeper:介绍和原理
目录1ZooKeeper简介2ZooKeeper基本概念2.1 文件系统2.2通知机制3 分布式系统的问题3.1服务的动态注册和发现3.2Job协调问题4Zookeeper作用与特性4.1 作用4.2 特性1ZooKeeper简介 Zookeeper: 是一个分布式的、开源的程序协调服。他提供的主要功 能包括:配置管理、名字...原创 2020-03-13 22:52:54 · 234 阅读 · 0 评论 -
分布式系统唯一ID设计
目录1 概述2 分布式唯一ID特点3分布式唯一ID传统方案3.1 UUID3.2数据库生成3.3Redis生成ID3.4利用zookeeper生成唯一ID3.5snowflake(雪花算法)方案1 概述 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在金融、电商、支付、等产品的系统中,数据日渐增长,对数据分库分表后需要有一...原创 2020-03-13 20:39:57 · 904 阅读 · 0 评论 -
微服务的隔离和熔断机制
1、微服务故障背景 假设Tomcat线程池有100个线程, 每次有新的用户请求过来,Tomcat就会从中找出一个空闲的线程去执行, 抛开那些琐碎的小细节,这些请求其实非常简单, 无非就是这么几件事:根据用户ID调用用户服务, 获取用户对象。 获取该用户的推荐商品 获取该用户的积分。 把这些信息组合起来,返回给浏览器。 有意思的是前三件事情全是HTTP调用,需要...原创 2020-03-06 16:40:48 · 1390 阅读 · 0 评论 -
负载均衡的原理和架构
1 为什么需要负载均衡? 从单机网站到分布式网站,很重要的区别是业务拆分和分布式部署,将应用拆分后,部署到不同的机器上,实现大规模分布式系统。分布式和业务拆分解决了,但不同的机器面临的业务压力不尽相同,为了使各机器均匀的分担业务处理压力,需要在集群前面增加负载均衡设备,实现业务被平均分发到各业务处理单元。图1 负载均衡架构2 负载均衡原理系统的扩展可分为纵向(...原创 2020-02-29 22:40:24 · 2757 阅读 · 0 评论 -
分布式事务解决方案
1 简述 分布式事务指事务的操作位于不同的节点上,需要保证事务的 AICD 特性。例如在下单场景下,库存和订单如果不在同一个节点上,就涉及分布式事务。 分布式系统涉及CAP理论:主要包括如下三个特性:一致性(C):在分布式系统中的所有数据备份,同一时刻是否相同值。(等同于所有节点访问同一份最新的数据副本) 可用性(A):在集群中一部分节点故障后,集群整体是否还...原创 2020-02-29 16:43:32 · 367 阅读 · 0 评论 -
序列化:protobuf原理
1、protobuf格式protobuf的message中有很多字段,每个字段的格式为:修饰符 字段类型 字段名 = 域号; 在序列化时,protobuf按照TLV的格式序列化每一个字段,T即Tag,也叫Key;V是该字段对应的值value;L是Value的长度,如果一个字段是整形,这个L部分会省略。 Key的序列化格式是按照message中字段后面的...原创 2019-11-29 12:18:51 · 954 阅读 · 0 评论 -
RPC原理
目录1 RPC概念2 RPC流程2.1 rpc处理流程2.2 rpc搭建流程1 RPC概念 RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。其中RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性...原创 2019-11-20 13:02:09 · 176 阅读 · 0 评论