1. http接口、api接口、RPC接口、RMI、webservice都有什么区别?他们不都是系统与系统之间整合用的吗?
2. 还有大家经常说的Restful形式的接口,什么时候设计成restful形式的呢?
3. 还有dubbo、activeMQ、rabbitmq、camel、kafka、netty、mina不都是通信框架吗,他们都有什么区别和应用场景?
问题较多,希望大神给予赐教,好人一生平安!
1. http接口、api接口、RPC接口、RMI、webservice都有什么区别?他们不都是系统与系统之间整合用的吗?
2. 还有大家经常说的Restful形式的接口,什么时候设计成restful形式的呢?
3. 还有dubbo、activeMQ、rabbitmq、camel、kafka、netty、mina不都是通信框架吗,他们都有什么区别和应用场景?
问题较多,希望大神给予赐教,好人一生平安!
(1)远程接口调用,简单来讲,A项目和B项目是发布到不同域,不同服务器,A项目提供方法,可以让B项目调用,目前一般用http调用,返回json格式。
(2)Restful个人认为就像你平时写spring mvc controller上面的@requestMapping
(3)dubbo,是分布式管理用的,例如可以用来集中管理SESSION,避免因为负载均衡导致session不一致
activeMQ,rabbitmq,消息队列,例如排队买票,秒杀活动
其他的忘记了
我是搬运工
RPC 和 RMI 的区别 : http://www.differencebetween.net/technology/protocols-formats/difference-between-rpc-and-rmi/
其他的能答的帮你答一下:
1. api 接口是一种笼统的称呼,你可以把http接口,RPC接口,RMI接口都称之为api接口
3. netty, mina 可以称为通信框架,activeMQ、rabbitMq、kafka 称为消息中间件,dubbo是服务框架。从层次上 netty, mina处于底层,dubbo处于上层,消息中间件的话dubbo也是有用的。
总之就是这些你没理解的,可能你把不同层次的东西混在一起讨论,你先理清楚依赖关系再去理解
1. 确实是系统整合用的,但是不同系统整合方法也不一样,比如c/s结构单机版系统,粗略的说可以不实用http接口,比如数据交换场景可以使用webservice。
2.Restful自己百度啊,入口粗略理解为 form表单的 请求,get post delete put。crud时按照restful的约定大于配置的方法去搞,当然其他方面自己百度。
3.通讯框架 没错,粗略理解你可以随便选用。以后你发现a比b好的时候,恭喜你成神了。
你问的粗,我回答的也粗,哈,想细需要莫大的勇气和时间。