2016 八月 | 重归混沌的BLOG

谈谈服务器程序设计

最近在实现服务器业务逻辑过程中碰到了一些问题,引起了一些思考,这里就随便这段时间对服务器实现的一些理解(以下的理解均对应于单进程单线程模型)。 高并发是服务器程序的一个重要衡量指标,因此大部分框架都在说能够达到多少多少并发量。但我觉得这些框架的本质其实都差不多。无非都是使用了如epoll/kevent之类的高性能事件监听器,唯一的区别就是他们在此之上提供给应用层的便宜性。 因此从高并发的层面上来讲,其socket的高并发性能主要还是取决于如epoll/kevent的性能。 假……

谈谈协议的设计

闲来无事,最近接了个公众号玩玩,当然肯定是基于silly的:) 最初的打算是开一个daemon,在收到微信sdk callback后根据好友发送的消息来做出不同的处理。比如根据输入关键字然后去我的blog上去爬取相关信息,每天定时把最新的blog文章做群发。 在实现http client过程中,需要解析dns。虽然gethostbyname可以用来解析域名,但是整个silly底层是基于异步来实现的,而gethostbyname则是以阻塞方式解析的,因此使用gethostbyname会极大地降低整个框架的吞吐量。 向dns服务器请求解析域名……