zz分布式架构,微服务架构,rest风格,rpc协议

rest和rpc都是网络交互的协议规范

一、分布式&微服务

1、分布式:指导节点之间如何通信

2、微服务:鼓励按业务划分模块。

3、微服务架构通过分布式架构来实现。

4、微服务中的各个模块有自己的代码,测试流程,上线流程等。

5、微服务通常需要配合自动化测试,部署,服务发现等。(否则成千上万个服务,人工弄很麻烦。)

二、rest:

REST 不是一种协议,它是一种架构,大部分的REST的实现中使用了RPC的机制,大致与有三部分组成:

1、method:动词(get,post之类的)

2、Host/post:URI(统一资源标识)、服务器,端口

3、Path:名词(路径,服务器里面的某个东西)路径的结尾是资源的形态(如text, html, image, pdf等)。

即、对host里面的某个Path里面的东西做一些get或post操作。

三、rpc:

1、RPC 即远程过程调用, 很简单的概念, 像调用本地服务(方法)一样调用服务器的服务(方法). 通常的实现有 XML-RPC,JSON-RPC , 通信方式基本相同, 所不同的只是传输数据的格式. 

2、通常的调用过程,把函数序列化,远端收到后,再把函数反序列化,完成函数调用。

详细讲解rpc:https://blog.csdn.net/qq_36183935/article/details/80550457

四、rest和rpc的区别

rpc:想对服务器里面的资源进行修改,首先需要了解服务器中各个接口都是干啥的,然后把相关参数传给服务器提供的接口,让服务器自己去执行修改。修改代码在服务端。所以RPC服务端逻辑更复杂些,服务器会有很大的工作量,但分工明确,不容易造成失误。可以基于tcp或http,如果基于tcp,将少一层协议。

REST风格:想对服务器里面的资源进行操作,下载服务器端的当前状态,修改之后将最终用户所期待的状态发送给服务器,服务器按照客户的期待进行修改。修改代码在客户端。所以REST风格客户端逻辑相比rpc客户端更复杂。自由度更大一些,但因此造成失误的可能性也大一些。传输层基于HTTP,相比于TCP,多了一层协议。但基于HTTP传输,可以穿越防火墙,适合组织内向组织外提供服务。

五、例子

如果要对服务端数据库里面的一个数加1,减1:两种不同的实现方式如下:

rpc中,服务端应该留两个接口函数,分别对应加1,减1操作,函数里面有参数,当客户端需要进行修改时,先要弄明白那个做加1操作,哪个做减1操作,然后参入相应参数,让服务端进行加1,减1操作后更改数据库

rest风格中:服务端只要留一个接口函数就可以,作用是更改数据库里面的数(不管它是加了还是减了),然后客户端有两个函数,分别进行加操作和减操作,但客户端操作完都提交给同一个服务端函数,然后更改数据库。

六、目前流行架构图:

--------------------- 
作者:田园园野 
来源:CSDN 
原文:https://blog.csdn.net/qq_36183935/article/details/80569818 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值