浅谈SOA与RPC
一、SOA
英文名称:Service Oriented Ambiguity
中文名称:面向服务架构
SOA是一种思想,目的是提供一种设计项目的思路,让开发时更有效率。
例如原来的分布式项目中,在每个项目都要访问数据库,这样就造成了代码的冗余:

使用SOA架构后:
- 专门访问数据库服务(项目)
 - 开发时可以实现数据访问控制和代码复用
 

- Dubbo作为服务
 - WebService作为服务
 - Dubbox作为服务
 - 服务方就是 web 项目,调用 web 项目的控制器
- 使用 HttpClient 可以调用其他项目的控制器
 
 
二、RPC
英文名称:Remote Procedure Call Protocol
中文名称:远程过程调用协议
解释:客户端(A)通过互联网调用远程服务器,不知道远程服务器的具体实现,只知道远程服务器提供了什么功能。
浅谈SOA与RPC的更多相关文章
- 浅谈SOA
		
概念 wiki对于SOA定义如下: A service-oriented architecture (SOA) is a design pattern in which application com ...
 - 浅谈SOA面向服务化编程架构(dubbo)
		
dubbo 是阿里系的技术.并非淘宝系的技术啦,淘宝系的分布式服务治理框架式HSF啦 ,只闻其声,不能见其物.而dubbo是阿里开源的一个SOA服务治理解决方案,dubbo本身 集成了监控中心,注 ...
 - 浅谈soa之RESTful
		
今晚打算花点时间整理一下面向服务的架构oap.1传统中小型项目架构一般是这样的:(java)html+servlet+jdbc.和(.net)html+handler+ado.net都是在一台应用来. ...
 - Web Service进阶(七)浅谈SOAP Webservice和RESTful Webservice
		
浅谈SOAP Webservice和RESTful Webservice REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性.RE ...
 - 朱晔的互联网架构实践心得S2E6:浅谈高并发架构设计的16招
		
朱晔的互联网架构实践心得S2E6:浅谈高并发架构设计的16招 概览 标题中的高并发架构设计是指设计一套比较合适的架构来应对请求.并发量很大的系统,使系统的稳定性.响应时间符合预期并且能在极端的情况下自 ...
 - 浅谈WebService的版本兼容性设计
		
在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...
 - TODO:浅谈pm2基本工作原理
		
TODO:浅谈pm2基本工作原理 要谈Node.js pm2的工作原理,需要先来了解撒旦(Satan)和上帝(God)的关系. 撒旦(Satan),主要指<圣经>中的堕天使(也称堕天使撒旦 ...
 - 【架构】浅谈web网站架构演变过程
		
浅谈web网站架构演变过程 前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变. 该系统具备的功能: 用户模块:用户注册和管理 商品模块:商品展示和管 ...
 - 浅谈测试rhel7新功能时的感受及遇到的问题【转载】
		
半夜起来看世界杯,没啥激情,但是又怕错误意大利和英格兰的比赛,就看了rhel7 相关新功能的介绍. rhel7的下载地址: https://access.redhat.com/site/downloa ...
 
随机推荐
- layer之关闭弹窗
			
一. layer关闭弹出层方法1-1) 先获取某个弹出层的 index var index = layer.open(); var index = layer.alert(); var index ...
 - MySQL SQL DML (数据操作语言)
			
包括 SELECT, UPDATE, DELETE, INSERT SELECT 从数据库表中获取数据 用法 SELECT name FROM students; SELECT name,age FR ...
 - Jike_Time-决策树
			
根节点 非叶子节点(决策点) 叶子节点(决策结果) 分支 熵代表混乱程度 信息增益 构造树的基本想法是随着树深度的增加.节点的熵迅速地降低.熵降低的速度越快越好,这样我们有望得到一颗高度最矮的决策树 ...
 - SqlServer断开所有连接
			
有时候我们在使用SqlServer管理工具操作数据库的时候,需要对数据库进行改名,但是如果当前数据库还有连接未释放的话,是不能改名的. 有很多方式可以断开所有连接,这里介绍一种个人觉得比较简单的方式. ...
 - nodejs 连接MySQL后,输出数据带有RowDataPacket、中括号大括号怎么去掉?
			
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : ' ...
 - 大话设计模式Python实现-观察者模式
			
观察者模式(发布-订阅模式 Publish Subscribe Pattern):定义了一种一对多的关系,让多个观察对象同时监听一个主题对象,当主题对象状态发生变化时会通知所有观察者,是它们能够自动更 ...
 - A query was run and no Result Maps were found for the Mapped Statement
			
mybatis测试方法报错: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exec ...
 - Budgie Desktop in Linux 无法使用触摸板右键功能
			
问题描述 Budgie桌面在Linux环境下很好用,不过最近发现触摸板的右键功能是不可用的 解决方法 经查阅Gnome官方文档(Budgie有很多功能基于Gnome)发现是Gnome官方把这个功能去掉 ...
 - F#周报2019年第24期
			
新闻 ML.NET 1.1发布与模型构建器升级 .NET Core 3.0预览版6发布 尝试新的System.Text.Json API F#调用Infer.NET 匿名记录类型文档 了解FableC ...
 - jdbc:mysql:///  jdbc连接数据url简写方式
			
正常情况下我们写jdbc连接本地mysql数据库的时候通常是这样写 jdbc:mysql:localhost:3306/数据库名 下面就是要提到的简单的方法 jdbc:mysql:///数据库名