- 博客(12)
- 资源 (6)
- 收藏
- 关注
原创 聊聊程序员做编程设计--API设计
0x01 缘由 最近,时间比较充裕,对几个行业和公司等相关进行了简短的思考。今天开始整理一些方法论。C/C++程序员如何做设计。以前在产品规划前也尝试过去做相关的设计,但很多场景是根据竞品进行需求提炼,然后编写需求规格说明书,然后做详细的设计,然后就把任务下发了,这样做的结果是下面的程序员和我都没有进行源码级相关设计。需求分析过程也不规范,大部分时间是领导的意图,然后按照领导的意图去实现
2017-10-31 12:01:31 498 1
原创 DPDK-实战之Virtio/vhost(虚拟技术)
0x01 缘由 在现在云计算和大量的数据中心建设过程中,虚拟化技术快速发展,也来了解下vhost。0x02 介绍 通过vhost-net卸载API来将DPDK技术和LINUX KVM虚拟化技术集成。这个应用简单执行了基于虚拟机之间的MAC地址或VLAN数据包交换。来自外部交换机的以太网流量的分割由英特尔®82599万兆以太网控制器的虚拟机设备队列(VMDQ)和数据中心桥接(
2017-10-26 11:06:34 2826
原创 DPDK-实战之ipsec-secgw(安全网关)
0x01 缘由 看到了比较陌生的名词觉得比较高大上,于是想探究下。0x02 介绍 IPsec 安全网关应用是用DPDK cryptodev框架的一个实际应用例子。 这个应用说明用DPDK实现的一个安全网关,基于RFC4301, RFC4303, RFC3602、RFC2404标准。IKE不实现,因此仅仅手动设置安全策略。 安全策略(SP)用ACL规则实现
2017-10-25 16:25:21 6787 1
原创 DPDK-实战之load_balancer(负载均衡)
0x01 缘由 “负载均衡”这个名词经常听,实际实践中也有过尝试。利用DPDK来做数据流量的负载均衡。我现在负责的产品中,有一个教智能分流设备,可以根据一些规则对流量进行转发。用DPDK可以适合这种场景不?显然,只要专注其中,可以为公司节约很大的成本。0x02 介绍 简单的负载均衡器应用表明一个将数据包IO操作与应用处理过程隔离。依据执行目标,将一些逻辑核专门做数据包的接收
2017-10-24 15:19:07 7916 1
原创 高性能服务器--定时器
0x01 缘由 最近在复习高性能服务器开发,有复习到了定时器这个技能,于是再次理解和复习下。0x02 介绍 概念: 定时:指一段时间之后触发某段代码的机制,在这段代码中依次处理所有到期的定时器。 定时器:封装定时相关操作和主要逻辑。 定时器容器:上面管理很多定时器。0x03 定时器容器 时间轮:
2017-10-23 15:15:40 787
原创 DPDK-实战之l3fwd-vf(虚拟化环境)
0x01 缘由 年初,学习了l3fwd的例子,进行三层转发,现在学习下特定转发,这个在虚拟化设备中常见,也是加强对dpdk的熟悉。0x02 介绍 在虚拟化环境下的L3层转发应用是用DPDK处理数据包的一个简单例子。这个L3层转发应用充分发挥SR-IOV的特征。 这个应用演示如何使用hash和LPM DPDK库去实现数据包转发。这个转发策略是基于输入包的信息。
2017-10-19 10:45:34 6707 1
原创 高性能服务器之IO复用方式比较
0x01 缘由 最近,想起3年前做的一个客户端设备,发现我对客户端使用select,现在回想起来,虽然也能够工作,但是强扭的瓜不甜,实际不用select也可以满足实际需求。当时可能是兴奋,想实践select的技术。下面主要复习和介绍select\poll\epoll的相关,并进行对比。0x02 IO复用方式 2.1 select 头文件:#include
2017-10-16 17:04:10 502 1
原创 DPDK-实战之rxtx_callbacks(回调函数)
0x01 缘由 继续学习DPDK相关例子。此例子为用用户定义的回调函数来为所有接收的数据包添加时间戳,计算每个数据包转发的时间。0x02 源码 此例子与上篇《DPDK-实战之skeleton(basicfwd)》有一点点不同,此处仅列出不同之处。 static inline intport_init(uint8_t port, struct rte_mempoo
2017-10-16 14:21:04 1786
原创 高性能服务器开发复习
0x01 缘由 性能对于服务器来说至关重要。无论是游戏行业、直播行业等大量的并发用户场景,以及网络设备处理,都需要合理的软件架构来充分利用服务器的硬件资源(CPU\内存\磁盘等)。下面主要关注高性能服务器编程。0x02 关键技术 基本的网络原理: tcp/ip协议栈、网络分析工具、基本的SOCKET编程、IO服用技术。 基本
2017-10-14 14:06:10 354
原创 DPDK-实战之skeleton(basicfwd)
0x01 缘由 继续学习DPDK示例,主要熟悉每个环节和设计理念,今天要学习的是一个相对简答的服务,仅仅从一个网口抓取数据包转发到另外一个网口,这样做双向转发,相当于桥的功能。其他基础业务都不做。0x02 直接上源码分析#include #include #include #include #include #include #include #define R
2017-10-13 15:17:32 4865 1
原创 DPDK-实战之helloworld
0x01 缘由 “纸上得来终觉浅,绝知此事要躬行”,前面学习了linux tcp/ip协议栈、DPDK基础理论,学下来的感觉是:以前对这几个方面都充满敬畏感,觉得很神秘、很高端,但是学习下来总结了一点----只要不断去摸索去调式去找资料,不懂的都会变得你懂的。仅仅学习理论是不够的,还得在实践中运用。然而在公司产品实践中有时无法接触这方面的知识的应用,所以只能通过一些例子和实现开源解决方
2017-10-12 16:06:07 6139
原创 聊聊编程习惯和思路
0x01 缘由 编程时间(加上大学)已有8年半之久了,最近想对自己编程生涯做一个简单的总结。梳理下编程思路和习惯。做程序员的基本要求:会一门编程语言,有良好的编程习惯,再加上相关行业经验和技术体系。 准备结合计算机编程比赛与产品开发一起来总结。0x02 编程语言 无论是参加编程比赛,还是参加产品开发,一门编程语言是基础。编程语言的学习主要是语法基础的差异,大
2017-10-12 11:33:08 1763
Stack 的建立,删除及相关操作
2010-12-24
Stack 的建立,删除及相关操作
2010-12-24
数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT
2010-12-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人