前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Http,Https,Restful,Webservice,WebSocket,Rpc,Rmi,SOA,分布式,微服务,集群等概念

Http,Https,Restful,Webservice,WebSocket,Rpc,Rmi,SOA,分布式,微服务,集群等概念

作者头像
海加尔金鹰
发布2020-06-09 10:15:12
1.8K0
发布2020-06-09 10:15:12
举报

前言

在JAVA开发学习过程当中,总是会接触到很多概念性的名词。特此简单的总结记录一下相关名词对应的概念。

HTTP协议和HTTPS协议,RESTFUL接口

HTTP协议:是Hyper Text Transfer Protocol(超文本传输协议)的缩写,这是非常常见的一种协议,简单来说就是一个无状态的基于TCP/IP协议实现的应用层协议。

HTTPS协议:

由于HTTP协议的安全性问题而出现的协议,可以理解成HTTP + 加密 + 认证 + 完整性保护 = HTTPS

通常表现为:HTTP+SSL/TLS=HTTPS。

PS:(现在打开一个网站,如果不是以https开头,而是以http开头的话,浏览器基本都会提示你网站不安全什么的!!!)

RESTFUL:简单来说就是对HTTP请求的方式和路径的一种约束规则,一种思想。 只要是符合这种思想的HTTP接口都可以叫做RESTFUL接口

即同一个路径,相同的参数,请求方式的不同,得到的结果也就不一样。

相关资料:

关于HTTP协议,一篇就够了

HTTP和HTTPS协议,看一篇就够了

RESTful介绍和使用教程

WebSocket

WebSocket:简单来说就是一个基于TCP的持久化网络通信协议。 WebSocket和Http有关系,但是不是Http协议。

其主要作用就是:服务端可以主动推送信息给客户端,不需要客户端重复的向服务端发请求查询。

相关资料:WebSocket 是什么原理?为什么可以实现持久连接?

Webservice

Webservice:一种跨语言和跨平台的远程调用技术,即JAVA应用程序可以通过websrvice调用PHP或者Python等程序提供的服务,反之亦然。 其使用的是SOAP协议。

SOAP = HTTP + XML

即客户端通过发送一个HTTP请求给服务端,这个HTTP请求里面包含一个XML,服务端接收到请求后解析这个XML里面的数据,然后来调用对应的服务和方法,最后返回对应的数据给客户端。

WebService和Restful之间的区别和联系?

相同点:都是基于HTTP协议传输数据。

不同点:传输数据的格式不同,webservice是通过xml传输,对数据格式的要求相对严格!Restful基本是通过Json格式传输数据。

相关资料:webservice接口开发学习笔记

RPC和RMI

RPC:Remote Procedure Call 翻译过来就是 远程过程调用

如何理解RPC?

简单来说就是 客户端通过HTTP,TCP/IP等协议将数据传给服务端,然后服务端通过对应的协议解析数据,然后执行对于的方法,并将结果通过对应的协议返回给客户端,是一种思想,一种解决方式。

RMI:就是用JAVA实现的RPC,只能在Java语言当中使用。

相关资料:如何给老婆解释什么是RPC

RPC和webservice的区别?

相同点:都是客户端将数据传给服务端,然后服务端解析数据,执行方法,返回结果。

不同点:

  1. 传输数据的协议或者说方式不同。RPC传输数据的方式多种多样,Webservice都是通过HTTP协议。
  2. 主要使用场景不一样。RPC主要是用于系统内部不同服务之间的服务调用,webservice主要是用于调用其他系统的服务或者提供给外部系统调用。通常对外提供服务接口基本上都是:webservice接口,http接口(包含符合restful风格的HTTP接口),MQ接口(相对较少)等等。

相关资料:RPC体系,RPC和WebService的区别详解

API和SDK

经常在开发当中听到SDK和API这两个名词。

SDK:软件开发工具包 就相当于一个utils工具类

API :软件开发工具包的使用说明文档。

相关资料:SDK和API最通俗的解释(https://www.hjljy.cn[https//baijiahao.baidu.com/s?id=1631565855082549763](https://baijiahao.baidu.com/s?id=1631565855082549763&wfr=spider&for=pc%29)

SOA和微服务

SOA是一种设计方法,其中包含多个服务,而服务之间通过配合最终会提供一系列功能。一个服务通常以独立的形式存在于操作系统进程中。服务之间通过网络调用,而非采用进程内调用的方式进行通信。 微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力

区别和联系?

没有接触过SOA架构,不是很清楚两者之间的区别和联系!

微服务和RPC的联系?

通常在系统当中,各个微服务之间的通信都是通过RPC框架来实现的!!!

常见的RPC框架:DUBBO,Spring Cloud,Thrift(可以跨语言!!!)。

相关资料:

什么是微服务?一篇文章让你彻底搞明白

微服务架构 vs. SOA架构

分布式和集群,负载均衡

分布式:一个大系统拆成很多小系统部署在不同的机器上。

集群:一个系统在多台机器上部署。

负载均衡:集群环境下才会存在负载均衡,将对同一个系统的访问根据相关策略分配到不同的机器上。

相关资料:菜鸟教你如何通俗理解——>集群、负载均衡、分布式


标题:Http,Https,Restful,Webservice,WebSocket,Rpc,Rmi,SOA,分布式,微服务,集群等概念

作者:海加尔金鹰

地址:https://www.hjljy.cn/articles/2019/12/26/1577345910587.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • HTTP协议和HTTPS协议,RESTFUL接口
  • WebSocket
  • Webservice
  • RPC和RMI
  • API和SDK
  • SOA和微服务
  • 分布式和集群,负载均衡
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档