• 语言:C,C++,Bash,Java,Python,js
• 开发工具:Linux,Vim,Source Insight,Qt
• 数据库:MySQL
• 对计算机网络安全,数据存储和服务器架构有比较全面的认识和能力
全局负载均衡(GLB)资源记录请求应答
• 背景介绍:在大规模的组网中,负载均衡设备充当DNS服务器可以根据不同的请求类型返回响应的资源记录类型,在项目中实现的资源类型有SOA,NS,A,AAAA,PTR,CNAME和MX
• 难点分析:在设计中负载均衡设备需要兼容各家厂商的设备,不同设备类型要求返回的结果不一样
• 使用的技术:当在用户态收到请求,通过IOCTRL陷入内核态对请求进行处理,按照优先级链表匹配,将结果压栈,处理完毕后弹栈,结束内核太的处理
负载均衡中的网络测量
• 背景介绍: 在大规模网络中负载均衡设备需要实时获取网络的状态用于更好的选路。但是一般的测量方式并不能满足性能要求或者是对设备的性能影响比较大,所以需要在内核态重新设计探测算法使其生成的表项速率更快、CPU 占用率更低。还要求在探测系统中用户可以根据自己的需求配置探测参数、输出表项信息和保存配置等操作。
• 难点分析:在设计过程中主要考虑要在不影响性能的基础之上做到每秒700以上的探测速率,解决办法是在系统的内核态发送探测报文,在设计中需要考虑分布式设备和MDC的情况。
• 使用的技术:对于接收到的请求如果能够匹配虚服务则可以负载流程,为了减少网络负载默认发送SNMP报文来探测,同时可以指定探测的类型。使用的技术主要有NETCONFIG,EPOLL,RCU等技术。本人论文即是做这个项目,如需详细了解请阅读论文。
存储系统中HTTPs Server
• 背景介绍:在存数系统中需要有远程支持系统来监测系统运行的状态,因此需要搭建一个HTTPs Server来接收Array发送的请求,这个Server需要支持OpenSSL
• 难点分析:独立设计一个轻量级的支持OpenSSL的Server需要保证系统的鲁棒性,对系统的CPU和内存的使用都有严格的要求,同时需要满足一定数量的并发量,同时对象的属性需要可配置。
• 使用的技术:在设计中使用全局对象来处理各个请求,服务一启动则就会生成Object,在具体处理中会根据请求的URL做正则表达式做匹配,如果匹配成功则会选择相应的实例来处理请求。