经过一个半月的编码,自己开发的分布式通信框架终于有了基本的雏形,采用TCP/IP协议,用Netty框架实现底层通信,序列化方式支持JDK自带的方式、支持Hessian、也支持Protobuf和Thrift,一般Java调Java用Hessian和Jdk序列化比较方便,直接将服务端注册,客户端生成代理即可使用。Protobuf和Thrift是为了应对跨语言调用准备的,可以通过伪代码生成业务依赖(接口、参数、返回值、异常等)。框架初步具备了负载均衡和容错,可以路由到具体的重载方法。目前只支持同步调用,后续将支持回调异步、Future异步和Oneway异步。
之所以要自己开发通信框架主要有两个原因:
1、开源框架都有自己的不足,比如Hessian架构在Http协议之上,效率低不说,不能脱离web容器,同时虽说可以支持跨语言,但没有一个统一的标准来生成各种语言的业务客户端,要手工编写各种业务依赖,同时对复杂参数的序列化支持并不好,自身并不具备负载均衡和容错的能力。Thrift相对比较简单,没有负载均衡和容错机制,没有集群功能。Protobuf本身只是一个序列化框架,仅有远程调用接口,并没有实现。ICE倒是一个不错的东西,但有点庞大,同时不满足下面的要求。
2、和后续的分布式解决方案(分布式数据层、消息中间、集群和业务配置服务、监控系统)无缝集合,使这些底层应用解决一个个业务集群的同时,也能处于大集群的有效监控之中,为后期的自动化升降级做准备。
分享到:
相关推荐
# 基于muduo和Zookeeper的RPC分布式通信框架 ## 项目简介 本项目是一个基于muduo网络库、protobuf和Zookeeper实现的高性能RPC分布式通信框架。该框架主要用于在Linux环境下实现不同分布式节点之间以及同一节点不同...
在分布式系统中,分布式通信框架起着至关重要的作用,它们使得不同的计算机节点能够相互通信并协同工作。"0729分布式通信框架-RMI1"的主题主要围绕分布式架构、TCP/IP协议、序列化、HTTP与HTTPS协议以及RMI(Remote ...
分布式通信框架-webservice 分析笔记 本文对分布式通信框架-webservice 进行了深入的分析和讨论,涵盖了 webservice 的定义、特点、协议层、SOAP 协议、WSDL 文件、SEI 接口等方面。 一、webservice 的定义和特点 ...
包括常见的RPC框架、常见的序列化/反序列化方案及选型、分布式服务框架服务的发布引入实现细节、软负载实现、底层通信方案实现、服务注册与发现实现、服务治理常见的功能等。通过对这些知识点的逐步讲解,层层深入,...
分布式通信框架GRPC及其在C语言中的应用 分布式通信是指跨越多个网络节点的通信方式,它允许不同地理位置的计算机或设备共享数据和资源。在软件开发领域,分布式系统的设计和实现是一门重要的技术,尤其在需要高...
分布式计算框架是当今高性能计算领域的重要技术,它...未来,随着通信设备的进一步发展和更新,通信对抗系统将面临更多的挑战和机遇,其分布式通信框架将继续扮演关键角色,为实现高效、智能的通信对抗提供技术支撑。
该设计方案提出了一种基于ZeroMQ的SOA分布式通信框架,并设计了一套与之对应的通讯协议,以支持多种编程语言,并在性能测试中表现出了优于其他主流SOA通信系统的效率。 在分布式系统设计中,首先需要考虑的是如何...
Pigeon Documentation User Guide Release Notes Release Notes Comitters 苗向彬,saber.miao ...Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance...
《毕设20180331冰海作品:基于Java的RPC分布式通信框架——davinci》 在IT行业中,分布式系统已经成为大型互联网应用的基石,而RPC(Remote Procedure Call)框架作为构建分布式系统的重要工具,其作用不可忽视。...
研发部 .NET,Kotlin和C ++的React性分布式通信框架(实验性)。 受JetBrains Rider IDE的启发。结构该框架包含多个库,用于单进程使用和跨进程通信。一生JetBrains Core库提供了优雅的处置,并发性和响应式编程。 ...
包括常见的RPC框架、常见的序列化/反序列化方案及选型、分布式服务框架服务的发布引入实现细节、软负载实现、底层通信方案实现、服务注册与发现实现、服务治理常见的功能等。通过对这些知识点的逐步讲解,层层深入,...
.NET分布式开发框架是一种用于构建可扩展、高可用性和高性能应用程序的技术。它允许开发者将应用程序分解为多个组件,这些组件可以在不同的计算机上独立运行并互相协作,以实现分布式处理。在这个项目实战中,我们...
本项目以Netty为基础,旨在开发一个既能满足基本RPC框架功能,又具有轻量级特性和高性能的分布式通信框架。在实现过程中,项目需要重点关注以下几个方面: 1. 轻量级架构设计:设计时需要考虑到系统的运行效率和...
分布式服务框架是现代互联网应用架构中的重要组成部分,它旨在解决单体应用在高并发、高可用、可扩展性等方面的挑战。本资源提供了“从零开始写分布式服务框架”的最新版源码,对于想要深入理解分布式系统设计和服务...
Dubbo是中国阿里巴巴开源的一款高性能、轻量级的Java分布式服务框架,它主要为了解决企业应用之间的服务调用问题,提供了服务注册、服务发现、负载均衡、容错处理等一系列完整的服务治理功能。在这个"Dubbo分布式...
本文将深入探讨如何在Spring Cloud环境中整合分布式事务框架TX-LCN,以实现高效、一致的数据操作。 TX-LCN(Transaction for LCN)是一个轻量级的分布式事务解决方案,它为Java开发者提供了一种简单易用的方式来...
FourInOne是一个高效的分布式计算框架,它集成了数据并行处理、任务调度、分布式存储和网络通信等功能,为开发者提供了一站式的解决方案,尤其适用于大规模数据处理和分布式应用开发。本文将深入探讨FourInOne的核心...
分布式事务框架的设计和应用是复杂且富有挑战性的,它涉及到底层通信机制、故障恢复机制、以及与业务逻辑的耦合等多方面问题。在设计和实施分布式事务时,通常需要综合考虑系统的业务场景、性能要求、容错性等因素,...