当前位置:首页 » 算力简介 » 去中心化服务器框架

去中心化服务器框架

发布时间: 2021-03-29 18:31:06

A. rpc框架都有哪些rmi bbo

Dubbo分层

config(配置层 )

proxy(服务代理层)

registry( 注册中心层)

cluster( 路由层)

monitor( 监控层)

protocol( 远程调用层)

exchange( 信息交换层)

transport( 网络传输层)

serialize( 数据序列化层)

对外配置接口
以ServiceConfig, ReferenceConfig为中心,可以直接new配置类,也可以通过spring解析配置生成配置类
Javassist ProxyFactory
Jdk ProxyFactory
服务接口透明代理,生成服务的客户端Stub和服务器端Skeleton
以ServiceProxy为中心,扩展接口为ProxyFactory
选择

Zookeeper

Redis

Multicast

Simple

支持基于网络的集群方式,有广泛周边开源产品,建议使用bbo-2.3.3以上版本(推荐使用)
依赖于Zookeeper的稳定性
支持基于客户端双写的集群方式,性能高
要求服务器时间同步,用于检查心跳过期脏数据
去中心化,不需要安装注册中心
依赖于网络拓普和路由,跨机房有风险
Dogfooding,注册中心本身也是一个标准的RPC服务
没有集群支持,可能单点故障
封装服务地址的注册与发现
以服务URL为中心,扩展接口为RegistryFactory, Registry, RegistryService
选择

Spring

Jetty

Log4j

自动加载META-INF/spring目录下的所有Spring配置
启动一个内嵌Jetty,用于汇报状态
大量访问页面时,会影响服务器的线程和内存
自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录
用户不能控制log4j的配置,不灵活
条件路由

脚本路由

基于条件表达式的路由规则,功能简单易用
有些复杂多分支条件情况,规则很难描述
基于脚本引擎的路由规则,功能强大
没有运行沙箱,脚本能力过于强大,可能成为后门
Random

RoundRobin

LeastActive

ConsistentHash

随机,按权重设置随机概率(推荐使用)
在一个截面上碰撞的概率高,重试时,可能出现瞬间压力不均
轮循,按公约后的权重设置轮循比率
存在慢的机器累积请求问题,极端情况可能产生雪崩
最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差,使慢的机器收到更少请求
不支持权重,在容量规划时,不能通过权重把压力导向一台机器压测容量
一致性Hash,相同参数的请求总是发到同一提供者,当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动
压力分摊不均
Failover

Failfast

Failsafe

Failback

Forking

Broadcast

失败自动切换,当出现失败,重试其它服务器,通常用于读操作(推荐使用)
重试会带来更长延迟
快速失败,只发起一次调用,失败立即报错,通常用于非幂等性的写操作
如果有机器正在重启,可能会出现调用失败
失败安全,出现异常时,直接忽略,通常用于写入审计日志等操作
调用信息丢失
失败自动恢复,后台记录失败请求,定时重发,通常用于消息通知操作
不可靠,重启丢失
并行调用多个服务器,只要一个成功即返回,通常用于实时性要求较高的读操作
需要浪费更多服务资源
广播调用所有提供者,逐个调用,任意一台报错则报错,通常用于更新提供方本地状态
速度慢,任意一台报错则报错
封装多个提供者的路由及负载均衡,并桥接注册中心
以Invoker为中心,扩展接口为Cluster, Directory, Router, LoadBalance
Cluster选择

Router选择

路由规则

容器

RPC调用次数和调用时间监控
以Statistics为中心,扩展接口为MonitorFactory, Monitor, MonitorService
Dubbo协议

Rmi协议

Hessian协议

连接个数:单连接
连接方式:长连接
传输协议:TCP
传输方式:NIO异步传输
序列化:Hessian二进制序列化
适用范围:传入传出参数数据包较小(建议小于100K),消费者比提供者个数多,单一消费者无法压满提供者,尽量不要用bbo协议传输大文件或超大字符串。
适用场景:常规远程服务方法调用
采用NIO复用单一长连接,并使用线程池并发处理请求,减少握手和加大并发效率,性能较好(推荐使用)
适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况
Dubbo缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低
Dubbo协议缺省每服务每提供者每消费者使用单一长连接,如果数据量较大,可以使用多个连接
为防止被大量连接撑挂,可在服务提供方限制大接收连接数,以实现服务提供方自我保护
在大文件传输时,单一连接会成为瓶颈
总结

可与原生RMI互操作,基于TCP协议
偶尔会连接失败,需重建Stub
参数及返回值需实现Serializable接口
参数及返回值不能自定义实现List, Map, Number, Date, Calendar等接口,只能用JDK自带的实现,因为hessian会做特殊处理,自定义实现类中的属性值都会丢失
连接个数:多连接
连接方式:短连接
传输协议:HTTP
传输方式:同步传输
序列化:Hessian二进制序列化
适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,可传文件
适用场景:页面传输,文件传输,或与原生hessian服务互操作
提供者用Dubbo的Hessian协议暴露服务,消费者直接用标准Hessian接口调用
或者提供方用标准Hessian暴露服务,消费方用Dubbo的Hessian协议调用
基于Hessian的远程调用协议
可与原生Hessian互操作,基于HTTP协议
需hessian.jar支持,http短连接的开销大
Hessian协议用于集成Hessian的服务,Hessian底层采用Http通讯,采用Servlet暴露服务,Dubbo缺省内嵌Jetty作为服务器实现
可以和原生Hessian服务互操作

总结

约束

封装RPC调用
以Invocation, Result为中心,扩展接口为Protocol, Invoker, Exporter
选择

封装请求响应模式,同步转异步
以Request, Response为中心,扩展接口为Exchanger, ExchangeChannel,ExchangeClient, ExchangeServer
Netty

Mina

Grizzly

性能较好(推荐使用)
一次请求派发两种事件,需屏蔽无用事件
老牌NIO框架,稳定
待发送消息队列派发不及时,大压力下,会出现FullGC
Sun的NIO框架,应用于GlassFish服务器中
线程池不可扩展,Filter不能拦截下一Filter
抽象mina和netty为统一接口
以Message为中心,扩展接口为Channel, Transporter, Client, Server, Codec
选择

Hessian

Dubbo

Json

Java

性能较好,多语言支持(推荐使用)
Hessian的各版本兼容性不好,可能和应用使用的Hessian冲突,Dubbo内嵌了hessian3.2.1的源码
通过不传送POJO的类元信息,在大量POJO传输时,性能较好
当参数对象增加字段时,需外部文件声明
纯文本,可跨语言解析,缺省采用FastJson解析
性能较差
Java原生支持
性能较差
可复用的一些工具
扩展接口为Serialization, ObjectInput, ObjectOutput, ThreadPool
选择

Business

RPC

Remoting

Service
Config
Proxy
Registry
Cluster
Monitor
Protocol
Exchange
Transport
Serialize
层次结构

层说明

B. 整合下列信息,回答什么叫“PTP"。①这是一个彻底“去中心化”(Decentralize)的档案交换架构。②“点对点

即“点对点”(PeetoPeer),这是一种新的获取信息的方式,每个人既是信息的获得者,同时也是信息的提供者,用户的电脑既是客户端,也是服务器。这是一个彻底“去中心化”(DeCeertalize)的档案交换架构。

C. HNB里去中心化自治组织框架(DAO)是什么

DAO(Data Access Object) 数据访问对象是一个面向对象的数据库接口,也可以称其分散的自制组织,它显露了 Microsoft Jet 数据库引擎(由 Microsoft Access 所使用),并允许 Visual Basic 开发者通过 ODBC 像直接连接到其他数据库一样,直接连接到 Access 表。DAO最适用于单系统应用程序或小范围本地分布使用。

D. 怎么进行去中心化处理

根据侯杰泰的话:所谓中心化, 是指变量减去它的均值(即数学期望值)。对于样本数据,将一个变量的每个观测值减去该变量的样本平均值,变换后的变量就是中心化的。
对于你的问题,应是每个测量值减去均值。

E. 比特币有没有中心服务器

文章概要:一个名叫中本聪(Satoshi Nakamoto)的人,在P2P 基金会(p2pfoundation)网站上发帖,称自己开发出了一个叫作比特币的开源P2P(点对点)电子现金系统,它完全去中心化,没有中央服务器或者托管方,所有一切都是基于参与者。 比特币™(BitCoin)是一种P2P形式的虚拟货币。点对点的传输意味着一个去中心化的支付系统。比特币不依靠特定货币机构发行,它通过特定算法的大量计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。 比特币是一种网络虚拟货币,跟腾讯公司的Q币类似,你可以使用比特币购买一些虚拟的物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,你也可以使用比特币购买现实生活当中的物品。 比特币与其他虚拟货币最大的不同,是其总数量是非常有限的,具有极强的稀缺性。该货币系统在前4年内只有不超过1050万个,之后的总数量将被永久限制在2100万个之内。还有一点是,你可以用电脑生产比特币。 详细介绍 比特币(Bitcoin)是一种由开源的P2P软体产生的电子货币。也有人将比特币意译为“比特金”。虚拟货币比特币(BitCoin)的概念最初由中本聪(SatoshiNakamoto)在2009年提出,现在比特币也用于指称bitcoin根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。与大多数货币不同的是,比特币不依赖于特定的中央发行机构,而是使用遍布整个P2P网络节点的分布式数据库来记录货币的交易,并使用密码学的设计来确保货币流通各个环节安全性。例如,比特币只能被它的真实拥有者使用,而且仅仅一次,支付完成之后原主人即失去对该份额比特币的所有权。 特征 比特币被设计为允许匿名的所有权与使用权,比特币既可以被以计算机文件的形式(wallet)保存在个人电脑中,也可以储存在第三方托管服务。不管以何种形式保存,比特币都可以通过比特币地址发送给互联网上的任意一个人。P2P的分布式特性与不存在中央管理机制的设计确保了任何机构都不可能操控比特币的价值,或者制造通货膨胀。

F. 去中心化的基本概述

在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现象或结构,我们称之为去中心化。
随着主体对客体的相互作用的深入和认知机能的不断平衡、认知结构的不断完善,个体能从自我中心状态中解除出来,称之为去中心化。

G. bbo是分布式服务还是集群

bbo是开源的微服务开发框架,倡导的是去中心化,每个功能封装成独立的模块服务,供其他服务调用,模块可以部署多台服务器,是一种集群。
他和soa最大不同的是有独立的rpc通信协议,不是像soa一样用http协议来传输数据的,rpc传输的是二进制数据,性能优于http传输。

H. 去中心化的互联网服务是什么

从互联网发展的层面来看,去中心化是互联网发展过程中形成的社会化关系形态和内容产生形态,是相对于“中心化”而言的新型网络内容生产过程。

I. 什么是去中心化

去中心化(英语:decentralization)是互联网发展过程中形成的社会关系形态和内容产生形态,是相对于“中心化”而言的新型网络内容生产过程。
相对于早期的互联网(Web 1.0)时代,Web 2.0内容不再是由专业网站或特定人群所产生,而是由权级平等的全体网民共同参与、共同创造的结果。任何人都可以在网络上表达自己的观点或创造原创的内容,共同生产信息。
随着网络服务形态的多元化,去中心化网络模型越来越清晰,也越来越成为可能。Web 2.0兴起后,Wikipedia、Flickr、Blogger等网络服务商所提供的服务都是去中心化的,任何参与者均可提交内容,网民共同进行内容协同创作或贡献。
之后随着更多简单易用的去中心化网络服务的出现,Web2.0的特点越发明显。例如Twitter、Facebook等更加适合普通网民的服务的诞生,使得为互联网生产或贡献内容更加简便、更加多元化,从而提升了网民参与贡献的积极性、降低了生产内容的门槛。最终使得每一个网民均成为了一个微小且独立的信息提供商,使得互联网更加扁平、内容生产更加多元化。

J. SOA和微服务架构的区别

SOA与微服务架构,在架构划分、技术平台选择等方面,均存在一定的区别。

一、架构划分不同

1、SOA强调按水平架构划分为:前、后端、数据库、测试等;

2、微服务强调按垂直架构划分,按业务能力划分,每个服务完成一种特定的功能,服务即产品。

二、技术平台选择不同

1、SOA应用倾向于使用统一的技术平台来解决所有问题;

2、微服务可以针对不同业务特征选择不同技术平台,去中心统一化,发挥各种技术平台的特长。

三、系统间边界处理机制不同

1、SOA架构强调的是异构系统之间的通信和解耦合;(一种粗粒度、松耦合的服务架构);

2、微服务架构强调的是系统按业务边界做细粒度的拆分和部署。

四、主要目标不同

1、SOA架构,主要目标是确保应用能够交互操作;

2、微服务架构,主要目标是实现新功能、并可以快速拓展开发团队。

参考资料

网络-SOA

网络-微服务架构

热点内容
世界上第一个比特币 发布:2025-05-05 15:50:26 浏览:167
ubuntu安装eth0 发布:2025-05-05 15:39:43 浏览:321
数字货币和汇顶科技 发布:2025-05-05 15:34:32 浏览:850
区块链金融应用面临的挑战 发布:2025-05-05 15:33:51 浏览:270
比特币账户算力是什么 发布:2025-05-05 15:20:07 浏览:226
币虎数字货币排名 发布:2025-05-05 15:19:55 浏览:940
eth钱包实现 发布:2025-05-05 15:13:04 浏览:141
汉王科技元宇宙 发布:2025-05-05 15:09:35 浏览:482
关于比特币在国内的法律规定 发布:2025-05-05 15:06:28 浏览:483
手机以太坊钱包下载 发布:2025-05-05 15:06:25 浏览:601