什么是Restful

restful是一种架构设计风格,提供了设计原则和约束条件,而不是架构。而满足这些约束条件和原则的应用程序或设计就是 RESTful架构或服务。

主要的设计原则:

  • 资源与URI
  • 统一资源接口(HTTP方法如GET,PUT和POST)
  • 资源的表述
  • 资源的链接
  • 状态的转移

什么是SAOP

  • soap是一种数据交换协议规范,是一种轻量的、简单的、基于XML的协议的规范。SOAP协议和HTTP协议一样,都是底层的通信协议,只是请求包的格式不同而已,SOAP包是XML格式的。
  • soap基于xml并封装成了符合http协议,因此,它符合任何路由器、 防火墙或代理服务器的要求。
  • soap可以使用任何语言来完成,只要发送正确的soap请求即可,基于soap的服务可以在任何平台无需修改即可正常使用。

RPC远程调用

RPC 的全称是 Remote Procedure Call 是一种进程间通信方式。

它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即无论是调用本地接口/服务的还是远程的接口/服务,本质上编写的调用代码基本相同。

比如两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数或者方法,由于不在一个内存空间,不能直接调用,这时候需要通过就可以应用RPC框架的实现来解决

几种比较典型的RPC的实现和调用框架。

(1)RMI实现,利用java.rmi包实现,基于Java远程方法协议(Java Remote Method Protocol)

和java的原生序列化。

(2)Hessian,是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 基于HTTP协议,采用二进制编解码。

(3)thrift是一种可伸缩的跨语言服务的软件框架。thrift允许你定义一个描述文件,描述数据类型和服务接口。依据该文件,编译器方便地生成RPC客户端和服务器通信代码。

(4)SpringCloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。

(5) Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成

什么是SOA

可以理解为微服务架构

业务系统分解为多个组件,让每个组件都独立提供离散,自治,可复用的服务能力

通过服务的组合和编排来实现上层的业务流程

作用:简化维护,降低整体风险,伸缩灵活

微服务架构

  • 什么是微服务架构

    架构设计概念,各服务间隔离(分布式也是隔离),自治(分布式依赖整体组合)其它特性(单一职责,边界,异步通信,独立部署)是分布式概念

作用:各服务可独立应用,组合服务也可系统应用(巨石应用[monolith]的简化实现策略-平台思想)

  • SOA架构与微服务架构区别

    SOA架构主要针对企业级、采用ESB服务(ESB企业服务总线),非常重,需要序列化和反序列化,采用XML格式传输。

    微服务架构主要互联网公司,轻量级、小巧,独立运行,基于Http+Rest+JSON格式传输。

ESB也可以说是传统中间件技术与XML、Web服务等技术相互结合的产物。

最新文章

  1. Redis数据结构详解(一)
  2. FFmpeg学习5:多线程播放视音频
  3. URAL 2089 Experienced coach Twosat
  4. blade and soul Group Combos
  5. 转 苹果的新编程语言 Swift 简介
  6. Node.js的模块载入方式与机制
  7. VS2008安装SP1补丁后智能提示从中文变为英文的解决办法
  8. 设计模式 ( 十八 ) 策略模式Strategy(对象行为型)
  9. Oracle 简介 三层结构
  10. Apache Maven 入门篇(下)
  11. 算法系列——huffman编码
  12. TCP/IP(五)传输层(TCP的三次握手和四次挥手)
  13. plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory
  14. 【简】题解 AWSL090429 【数塔问题】
  15. dedecms中arclist标签做分页以及分页点击模块样式错乱问题
  16. reStructuredText语法简单说明
  17. kotlin string
  18. Java并发编程笔记之ThreadLocal源码分析
  19. BZOJ 1877 晨跑 拆点费用流
  20. 【二】H.264/MPEG-4 Part 10 White Paper 翻译之 Prediction of Intra Macroblocks

热门文章

  1. [Noip模拟题]宠物之战senso
  2. k8s安装报错 Error: unknown flag: --experimental-upload-certs
  3. Redis配置文件全解
  4. 南京网络赛 E K Sum
  5. Module not found: Error: Can't resolve ' vue-resource'
  6. spring中的增强类型
  7. mysql 批量删表
  8. 阶段3 1.Mybatis_07.Mybatis的连接池及事务_5 mybatis中使用poolead配置连接的原理分析
  9. python对象的引用
  10. Flink组件及特性