协程这个概念很久了,好多程序员是实现过这个组件的,网上关于协程的文章,博客,论坛都是汗牛充栋,在知乎,github上面也有很多大牛写了关于协程的心得体会。突发奇想,我也来实现一个这样的组件,并测试了一下性能。借鉴了很多大牛的思想,阅读了很多大牛的代码。于是把整个思考过程写下来。实现代码 https://github.com/wangbojing/NtyCo代码简单易读,如果在你的项目中,
相信大部分的做IOS开发的朋友,在App发布的时候都是需要将服务器做到支持IPV6的。我今天就在做NtyTcp DNS异步解析的时候,需要一个测试环境,所以搭建了一个IPV6的环境。把过程列举出来。一。主机内核需要支持IPv6修改 /etc/sysctl.confnet.ipv6.conf.all.disable_ipv6 = 0net.ipv6.conf.default.disable_ipv6
现在微服务概念特别火热,最近无意×××看到一个不错的开源项目,OpenFLIXR 2.0,ALL-in-ONE,可以细细体会成熟微服务的项目。之前有个1.0 的版本,就是单一服务。这个开源的项目,是一个集成的项目,并不仅仅开放源代码,并且直接开放IMG,支持VMware,VirtualBox,KVM等虚拟化,IMG里面直接能跑起来。这样的做法,免去的很多部署的问题,IMG直接down可以快速部署。O
Epoll是Linux IO多路复用的管理机制。作为现在Linux平台高性能网络IO必要的组件。内核的实现可以参照:fs/eventpoll.c .为什么需要自己实现epoll呢?现在自己打算做一个用户态的协议栈。采用单线程的模式。https://github.com/wangbojing/NtyTcp,至于为什么要实现用户态协议栈?可以自行百度C10M的问题。由于协议栈做到了用户态故
多线程编程—线程池的实现 执行与任务分离的组件— 线程池https://github.com/wangbojing/threadpool 多线程技术主要解决了处理器单元内多个线程执行的问题,它可以显著的减少处理器单元的闲置时间,增加处理器单元的吞吐能力。线程池是多线程编程的一个必要组件,并且对于很多编程人员都是透明的,更是神秘的。有幸能为大家解析其中缘由,尚有不妥之处,欢迎大
随着区块链的越来越火,去中心化的网络设计再次被拿到技术人员面前。在这里我使用非常通俗的语言,帮大家来理解去中心化的网络设计的基础—网络穿透。再使用代码来实现穿透。如果阐述不到位的地方,欢迎大家抛砖。代码在此: https://github.com/wangbojing/P2PServer 在有中心化服务器的网络中,客户端,服务器,网关构成网络拓扑图。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号