摘要:
事务 某些业务要求,一系列操作必须全部执行,而不能仅执行一部分。例如,一个转账操作: -- 从id=1的账户给id=2的账户转账100元 -- 第一步:将id=1的A账户余额减去100 UPDATE accounts SET balance = balance - 100 WHERE id = 1; 阅读全文
摘要:
c10k,c100k,c1000k等问题大家都已经司空见惯,那么10m(千万)并发连接呢?今天就来一起挑战一下。下面我们使用handy库自带的例子程序,来跑出一个单机千万并发连接的实例,先上操作步骤,后面解释。 准备机器 10m连接,大家的个人电脑肯定无法满足要求,如果不是在大公司任职,弄个实际的物... 阅读全文
摘要:
c10k,c100k,c1000k等问题大家都已经司空见惯,那么10m(千万)并发连接呢?今天就来一起挑战一下。准备机器 10m连接,大家的个人电脑肯定无法满足要求,如果不是在大公司任职,弄个实际的物理机对大家是个奢望。那么怎么办?我也面临同样问题。 现在的云计算这么发达,还可以按小时计费,一小时的... 阅读全文
摘要:
网络服务器通常都使用epoll进行异步IO处理,而开发者通常使用mac,为了方便开发,我把自己的handy库移植到了mac平台上。移植过程中,网上居然没有搜到kqueue的使用例子,让我惊讶不已。为了让大家不用像我一样再次花费大力气搞定kqueue,我整理了一个简单清晰可运行的kqueue例子,供大... 阅读全文
摘要:
安装 npm install m service save 使用 编写服务处理函数 普通web服务模式 按照普通的web方式的方式提供服务 微服务模式: 分三个角色 服务中心 服务注册,服务发现 服务代理 提供集成的web接口,用户使用统一的url访问所有微服务,屏蔽微服务内部的细节 微服务 提供实 阅读全文
摘要:
从ET的处理过程中可以看到,ET的要求是需要一直读写,直到返回EAGAIN,否则就会遗漏事件。而LT的处理过程中,直到返回EAGAIN不是硬性要求,但通常的处理过程都会读写直到返回EAGAIN,但LT比ET多了一个开关EPOLLOUT事件的步骤 阅读全文
摘要:
Handy是一个简洁优雅的C++11网络库,适用于linux与Mac平台。十行代码即可完成一个完整的网络服务器。下面是echo服务器的代码:#include using namespace std;using namespace handy;int main(int argc, const char... 阅读全文
摘要:
最近的一个项目需要操作阿里云的RDS,项目使用python3,让人惊讶的是官方的SDK竟然只支持python2在阿里云现有SDK上改了改,文件的修改只涉及aliyun/api/base.py,详见https://github.com/yedf/aliyun-python修改后的代码在python2.... 阅读全文
摘要:
openssl 非阻塞/异步编程 阅读全文