从零开始实现RPC框架–(3)服务注册中心

上一篇文章中,我们实现了RPC框架客户端和服务端的通信,可以完成一次完整的RPC调用。
但是在生产环境中,服务集群会经常进行上下线和扩容的变动,显然在客户端配置服务端地址的方式是不适用的。
我们需要的是一个注册中心组件来维护服务器列表,并且在服务器上下线、扩容的时候同步变更,定时通知客户端更新列表,来看看该如何实现。

Read more →

从零开始实现RPC框架–(2)实现RPC调用

在上一篇文章”从零开始实现RPC框架–(1)基本原理“中,大致讲述了RPC框架的原理、可能遇到的问题及一些解决的方案。
之后我实现了RPC框架的基础功能–客户端和服务端之间的调用,代码已经上传至github(项目链接),大家如果感兴趣可以star一下,今天这篇主要结合代码说说如何实现RPC框架的调用功能。

Read more →

从零开始实现RPC框架–(1)基本原理

一.RPC概述

RPC即是远程过程调用(Remote Procedure Call),允许一台计算机调用另一台计算机上的程序得到结果,而代码中不需要做额外的编程,就像在本地调用一样。

现在互联网应用的量级越来越大,单台计算机的能力有限,需要借助可扩展的计算机集群来完成,分布式的应用可以借助rpc来完成机器之间的调用。

Read more →

高并发系统的设计及秒杀实践

一个大型网站应用一般都是从最初小规模网站甚至是单机应用发展而来的,为了让系统能够支持足够大的业务量,从前端到后端也采用了各种各样技术,前端静态资源压缩整合、使用CDN、分布式SOA架构、缓存、数据库加索引、读写分离等等。 这些技术是高并发系统所必须的,但是今天先不细说,而先谈谈在这些架构既定的情况下,一些高并发业务/接口实现时应该注意的原则,以及通过工作中一个6万QPS的秒杀活动,来介绍一下秒杀业务的特点以及如何优化。

Read more →