Restful、rpc、dubbo

要入职平安健康了,项目框架好像用的dubbo,所以提前自学了解下。
这编先把概念摸清楚,今天在了解dubbo的时候牵扯出rpc,然后想起求职过程中职位要求经常有看到rpc、restful这些单词,所以顺道把restful概念也梳理清楚。

一、REST和RESTful
1、REST
  全称为Representational State Transfer,意思是表现层状态转移,它一种软件架构风格,不是标准,不需要严格遵守。
  URL中只使用名词来定位资源,用HTTP协议里的动词(GET、POST、PUT、DELETE)来实现资源的增删改查操作。
2、RESTful风格
  基于REST构建的API就是Restful风格,下面是示例:
    http://localhost:8080/students      GET(查询所有学生)
    http://localhost:8080/students/1   GET(查询id为1的学生)
    http://localhost:8080/students      POST(保存学生信息)
    http://localhost:8080/students/1   DELETE(删除id为1的学生信息)
    http://localhost:8080/students      PUT(修改学生信息)
  上面我们定义的四个接口就是符合REST协议的,通过请求类型来判断是什么业务操作。
3、优点
  和传统风格的相比,我们可以看到REST风格的一部分优点:
  a、可以隐藏资源的访问行为(如隐藏了selectById等),这样就无法通过地址得知对资源进行了哪种操作。
  b、可以明显的看到其书写简化了,不仅书写简化了,在开发时代码也可以简化。

二、RPC
1、RPC(Remote Procedure Call)是一种概念,表示远程过程调用,就是像调用本地方法一样调用远程方法。
2、主要用在内部服务间的通信,常用在微服务;
3、RPC可以用HTTP实现(springcloud),也可以用TCP实现(dubbo)。 TCP是传输层协议,而HTTP是应用层协议,由tcp实现的rpc性能比较好
  SpringCloud:Spring公司开源的微服务框架,SpirngCloud 定位为微服务架构下的一站式解决方案。
  Dubbo: 阿里巴巴开源的RPC框架,它的关注点主要在于服务的调用,流量分发、监控和熔断;
  SpringCloud生态丰富,功能完善,更像是品牌机,Dubbo则相对灵活,可定制性强,更像是组装机

参考:https://blog.csdn.net/weixin_51291483/article/details/109212137/

三、dubbo

dubbo官网:https://dubbo.apache.org/zh/docs3-v2/java-sdk/quick-start/spring-boot/

 

posted @ 2022-08-20 11:54  whitewall  阅读(286)  评论(0编辑  收藏  举报