Loading

摘要: Grpc四种服务方法的Java远程调用 快速入门安装grpc请参考官方案例 详细说明 也可参考官方GitHub的grpc-java说明 下载/添加JAR包 添加JAR包。或对于非Android的Maven,添加到您的pom.xml <dependency> <groupId>io.grpc</gro 阅读全文
posted @ 2020-05-28 21:00 RainbowSea1 阅读(1997) 评论(0) 推荐(0)
摘要: gRPC概念 gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计,基于protobuf 3.x,基于Netty 4.x +。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, No 阅读全文
posted @ 2020-05-28 20:19 RainbowSea1 阅读(2134) 评论(0) 推荐(1)
摘要: gradlew(gradle wrapper) 作用:使得使用者即便在本地没有提前安装以及配置gradle工具的前提下,依然可以通过一个很简单的命令就可以实现对项目的构建 执行gradlew执行流程 gradlew完成的第一件事情就是,首先监测本地有没有安装gradle如果没有安装(默认监测的位置是 阅读全文
posted @ 2020-05-28 20:01 RainbowSea1 阅读(357) 评论(0) 推荐(0)
摘要: 本案例使用Java与Python两种语言进行互相调用测试Thrift IDL文件(.thrift文件) #定义命名空间: namespace 语言名 路径 namespace java thrift.generated namespace py py.thrift.generated #定义类型别名 阅读全文
posted @ 2020-05-28 20:00 RainbowSea1 阅读(338) 评论(0) 推荐(0)
摘要: Apache Thrift是什么? Apache Thrift软件框架用于可扩展的跨语言服务开发,将软件堆栈与代码生成引擎相结合,构建可在C ++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#之间高效无缝工作的服务, Cocoa,JavaScript,Nod 阅读全文
posted @ 2020-05-28 19:59 RainbowSea1 阅读(504) 评论(0) 推荐(0)
摘要: Protobuf生成的代码多工程共享 使用Git作为版本控制系统,多工程引用中间代码文件,本示例引用对象为Protobuf生成的代码。 方案一(不推荐) 使用 git submodule:git仓库里的仓库 需要引入Protobuf生成的中间代码的git仓库:ServerProject Client 阅读全文
posted @ 2020-05-28 19:58 RainbowSea1 阅读(243) 评论(0) 推荐(0)
摘要: 解决多类型传输限制 解决方案一:第一种方式利用了自定义协议,传递消息的时候,对消息的前几位(比如2位)进行自定义的位置(比如AB)解码器解析的时候前二位为AB表示一种协议类型,CD一种协议类型。这种方式没有利用protobuf,而是直接使用Netty自定义协议来解决的方案。 解决方案二:在proto 阅读全文
posted @ 2020-05-28 19:57 RainbowSea1 阅读(752) 评论(0) 推荐(0)
摘要: 背景 学过java的都使用过RMI框架(remote method invocation),远程方法调用,比如A,B二个服务器,A调用B服务器上的方法就像调用本地方法一样,但是本质上是跨机器的调用了,A机器将调用的方法名,参数通过字节码的形式传输到B这台机器上,B这台机器将这些字节码转换成对B机器上 阅读全文
posted @ 2020-05-28 19:56 RainbowSea1 阅读(291) 评论(0) 推荐(0)
摘要: 出现背景 WebSocket是一种规范,是Html5规范的一部分,websocket解决什么问题呢?解决http协议的一些不足。我们知道,http协议是一种无状态的,基于请求响应模式的协议。 无状态:客户端多次请求之间是没有关系的,这样的协议存在很多问题,例:无法追踪请求来自那个客户端以及这个客户端 阅读全文
posted @ 2020-05-28 19:54 RainbowSea1 阅读(460) 评论(1) 推荐(0)
摘要: 前言: 集群之间的主节点与从节点之间实现数据的最终一致性。节点与节点之间实现数据的异步同步。节点与节点之间怎样才能感知对应节点状态。这就要求节点每隔一段时间定时的发送心跳包去感知对方的服务健康状态。一般在设置几个心跳包之后我们就可以认为对方节点已经挂了,我们就可以将该节点从集群中踢出去。 我们有个疑 阅读全文
posted @ 2020-05-28 19:52 RainbowSea1 阅读(485) 评论(0) 推荐(0)