首页
学习
活动
专区
工具
TVP
发布

EffectiveCoding

专栏作者
113
文章
97454
阅读量
28
订阅数
到底什么是RPC - 概述
远古时期,每个进程各干各的,但随着发展有时候会存在A进程调用B进程某一方法,使用其功能的场景,比如说把画图统一都在某一个进程中,其他进程只需要调用它就ok了(代码没有散落到各地、也减少了一部分动态链接的管理),但是最初是不支持的,就产生了所谓的IPC(Inter-process communication 本地进程间通信),没错这里的IPC就是上学的时候经常背的 共享内存等进程间通讯方式。 再后来越来越多的单机系统复杂到无法维护面临拆分,小型机的瓶颈凸显及性价比越来越低,由pc和廉价服务器构成的集群、分布式方案逐渐形成,开始出现多个pc或者服务器 搭建分布式系统的场景,之前单机上的IPC也演变成了现在的RPC(远程过程调用)。 做服务器端研发,经常会有这样的一些名词RMI(remote method invocation,面向对象的远程方法调用)、RPC(remote procedure call,远程过程调用)、SOAP(simple object access protoal,简单对象访问协议)、REST(representational state transfer,表达性状态转移),这些都可以理解为调用远程方法的一些通信技术“风格”,其中RPC是一个泛化的概念,严格来说一切远程过程调用手段都属于rpc范畴,本系列要说的就是这个泛化的RPC。
邹志全
2020-04-23
2.8K0
Spring MVC 整体介绍
Spring MVC 是以servlet 为核心进行实现的,统一入口进入拿到请求后,做一次路由,找到对应的controller及对应的RequestMapping,完成逻辑的后,返回对应的视图或者数据元,如果是顺道完成视图的解析,返回对应html,完成响应。
邹志全
2019-10-08
3780
关于HTTP 2.0
HTTP自互联网时代到来之后,几乎成为了使用最多的应用层协议。先来回顾一下http的历史: http也就是超文本传输协议,对应的传输的文本叫做超文本标记语言也就是html,这是最初的使用场景,也就是用来发布和接受html界面的,什么叫做超文本呢,就是说不单单是文本,能通过计算机处理文本的方式处理对应内容从而具有排版、图片还有可读性什么的。这个规范和协议是由Internel Engineering Task Force(互联网工程工作小组)共同研究给出的RFC,然后使用最广的是RFC 2616定义的HTTP 1.1。关于RFC还有草案什么的,我之前从开始学网络就有点迷,然后总结了下,顺道来看一下RFC和草案的一些概念。 首先IETF是国际互联网工程任务组,一个公开的民间组织,来维护互联网工作,一些草案什么的都是IETF中提出的,具体过程是这样的: 1、发布一份互联网草案 2、接受关于草案的评论 3、根据评论修改你的草案 4、重复1至3步骤数遍 5、请求领域总监将草案带至IESG(如果是个人提交)。如果草案出自一个正式工作组,则由工作组主席向领域总监提交草案。 6、根据IESG讨论结果修改草案(结果可能是草案被否决) 7、等待RFC编辑处编辑出版你的草案 然后草案是一种可以使用但是随时可能发生修改的,而成为RFC之后,就算是一种标准啦,但是RFC通常包含这么几种:建议标准、草案标准、互联网标准(有时称作"完全标准")、试验性协议、信息文档、历史标准。只有前三种是具体的IETF标准。
邹志全
2019-10-08
5130
Redis hash类型
Hash 表示的是一种字段与值之间的映射关系,与很多编程语言中的map或者字典类型类似。Redis其实本身就可以本身就可以看作一个大Hash,其字符串类型的键关联到字符串或者链表之类的数据对象。而Redis 中的数据对象也可以再次使用Hash,其字段和值必须是字符串类型,在这里其实可以简单的理解为一个大Map。
邹志全
2019-07-31
7650
Java Concurrent 线程封闭
并发能够帮助我们完成资源的高效利用,业务逻辑的解耦。但是同时并发也带来了一些问题,比如说数据的并发安全问题。很多情况下,我们是希望能够并行的做一些事情,但是资源最好不共享。
邹志全
2019-07-31
2960
Go 并发实战 -- sync Pool
sync包中最后一个要说的API是sync.Pool,本质上来说Pool应该不算是sync并发相关的内容,但是既然放在sync里了,并且在并发场景下共用一些对象其实还挺常见的,就一起说一下吧。 Pool目的是对象的共用,解决的是减少内存的占用及GC频发带来的性能损耗,对于一些大对象,或者构造代价高的对象还是很有必要通过pool来缓存的。
邹志全
2019-07-31
4740
Go 语言基础--简介&快速开始
Go 是一个比较新的开源语言,2007年由Robert Griesemer, Rob Pike, Ken Thompson主持开发,09年11月开源,12年的时候发布了Go的稳定版本,就现在来看Golang的社区是非常活跃的,并且有很多的大型互联网公司开始使用Golang,总体来说 Golang 是一个充满潜力但现在生态还不是很完备的年轻的语言。 Golang 就当前使用较广的一些语言对比来看: 1、golang 更加的简洁、开发效率更高 2、天然的并发性 3、优秀的内存管理 4、相对于其他编译型语言,编译速度更快 5、性能较高且稳定 我本身是一个Java 程序员,从Java 的角度来对比看Golang的话,Golang具有 更加丰富的内置类型、匿名函数&闭包、更高性能&开发效率的并发特点、比较不错的垃圾回收(这一块儿做的稍微比Java 差一点)、更加方便的多返回值、不逊色于其他语言的错误处理&反射等特性。 下面就开始来看看Golang安装包地址https://golang.org/dl/ 或 https://golang.google.cn/dl/ (连uri 都是如此的简洁,哈哈哈哈哈)
邹志全
2019-07-31
2780
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档