解构ODL:从代码到架构设计

SDNLAB君 • 18-09-26 •476 人围观

专栏简介

软件定义网络(SDN)是网络领域的变革趋势,在近几年的技术演进中,业界对于SDN的理解也逐步加深,在各个应用场景均有了大量“因地制宜”的个性化落地。OpenDaylight(ODL)作为软件定义网络(SDN)应用最广泛的软件平台,几乎成为了各个场景的默认选择,项目经历了多个版本的迭代也逐渐趋于成熟和稳定,各个子项目也是百花齐放。

然而对于广大有志于投身网络变革大潮的从业者而言,OpenDaylight依然具有很高的门槛,网络和软件领域的双向知识技能储备成为了限制从业者成长的关键部分。网络知识可以通过大量的阅读和实践去进行积累,但软件的技能积累方法看似与前者相同却往往不得要领,进步缓慢。很多参与者都有这样的困惑:

  • “ODL难,难于上青天”,“都赞君之好,但学君不易”,但又很难概括难在何处
  • 软件的迭代周期短,导致刚刚学习的知识变成了”过时货“,又需追逐新的技术,到头来只能望洋兴叹。
  • 纷繁复杂软件技术集合很难取舍,导致了”接近换来期望,期望带来失望恶性循环“。

究其原因,与ODL的庞大架构和复杂项目依赖息息相关,本专栏《解构ODL:从代码到架构设计》其实就从软件的角度告诉你该如何去高效学习OpenDaylight。人们都觉得软件是实践第一,其实这个并不是高效的良方,就如同习武练功,招式只是外壳,内功心法才是核心,二者相辅相成。本专栏就是一本重在讲授内功心法,并指导内功和招式结合练习的武功秘籍。

在本专栏中,耿兴元老师将结合自己从业15年的软件研发经验,对OpenDaylight源码从内到外进行解构,让你知其然更知其所以然。

他总结学习ODL的最小学习单元,并将ODL架构设计与流行的软件研发架构设计相结合,在每期结尾讲述与该期技术主题相关的ODL项目常见的“坑”进行分析,归纳出常见的解决方案。帮助入门级程序员深入、直观的理解ODL技术原理,构建精准的知识框架;帮助有一定工作经验的程序员填补知识漏洞,打通知识体系。

耿兴元,中兴通讯软件开发专家级工程师,目前在公司内致力于基于Opendaylight的商用SDN控制器产品研发,Opendaylight资深Geeker,关注并跟踪Opendaylight的核心项目如yangtools,mdsal,controller,并在这些项目提交了若干bug的修复,功能扩展。

专栏板块

专栏共30期,分为三大板块。

  • 模块一:主要是解构OpenDaylight源码,归纳总结ODL最小软件学习单元,并分析常见的事务逻辑和流程,自底向上剖析ODL源码。包括从最简单的QName到核心的DataStore、Notification模块等内容。
  • 模块二:从架构设计的角度分析ODL,总结ODL的一些优秀设计,并结合流行的设计架构对ODL的软件设计优劣进行分析和建议。包括从DataStore延伸的数据库持久化设计,从南向接口延伸的插件化、模块化设计
  • 模块三:从知识串联的角度对学习ODL的一些经验进行介绍,包括ODL的一些学习难点和实践痛点,并对网络的本质化思考进行讲解。在最后把基于ODL的开源项目进行讲解,让学员学以致用。

专栏详细目录如下:

适宜人群

所有有志于解决现有网络问题并促进网络变革的通信、网络及计算机行业相关从业者,特别是希望掌握软件定义网络热门技术的开发人员;具有一定工作经验,关注网络热门技术并希望查漏补缺继续成长的程序员;以及具备一定软件开发能力的网络技术领域从业者。

订阅须知

本专栏属于未来网络学院《一课专栏》下的专栏课程,通过连载的形式帮助学员循序渐进的掌握知识,每期会有专栏作者的导读音频和知识文章,促进学员更好的融入学习氛围。
专栏更新时间为2018年9月3日至30期内容更新完毕。订阅成功后,可通过“未来网络学院”小程序端、H5端永久阅读,未来将开辟web端阅读功能,敬请期待。
本专栏形式为“图文+音频导读”,共计30期。
本专栏为在线虚拟商品,暂不提供线下服务。
在专栏阅读过程中,如有任何问题,请微信联系:SDNLAB001,或邮件联系 apply@sdnlab.com

微信扫描下方二维码免费试看部分课程

转载自:https://www.sdnlab.com/22401.html

解构ODL:从代码到架构设计相关推荐

  1. 史上最强Dubbo面试28题答案详解:核心功能+服务治理+架构设计等

    1.Dubbo是什么? Dubbo 是一个分布式.高性能.透明化的 RPC 服务框架,提供服务自动注册.自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成. RPC 指的是远程调用协议, ...

  2. petshop详解之一:PetShop的系统架构设计

    前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力.业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来.这种争论不可避免带有浓厚的商 ...

  3. 业务代码解构利器--SWAK

    简介 业务的不断发展.商品类型的不断增多.不断添加的业务需求使得闲鱼的代码出现"bad smell"--平台代码和业务代码耦合严重难以分离:业务和业务之间代码交织缺少拆解.这也是行 ...

  4. 业务代码解构利器--SWAK 1

    简介 业务的不断发展.商品类型的不断增多.不断添加的业务需求使得闲鱼的代码出现"bad smell"--平台代码和业务代码耦合严重难以分离:业务和业务之间代码交织缺少拆解.这也是行 ...

  5. javascript编写_如何在JavaScript中使用解构来编写更简洁,功能更强大的代码

    javascript编写 by Ashay Mandwarya ?️?? 由Ashay Mandwarya提供吗? 如何在JavaScript中使用解构来编写更简洁,功能更强大的代码 (How to ...

  6. Vue2.x—理解vuex核心概念action(使用到ES6的变量的解构赋值)

    Action Action 类似于 mutation,不同在于: Action 提交的是 mutation,而不是直接变更状态. Action 可以包含任意异步操作. 让我们来注册一个简单的 acti ...

  7. JS:ES6-3 解构赋值与模板字符串

    什么是解构赋值: ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值: 代码演示及相关说明: <!DOCTYPE html> <html> < ...

  8. 系统工程(SE)学习笔记(四)——系统架构设计

    TOC 在法求学时,一位教授告诉我,架构为什么是architecture?因为它有点像art.对于这个稍微有点"冷"的笑话,我第一个联想到的就是香港中银大厦,在我看来,中银大厦的外 ...

  9. 如何在 JavaScript 中使用对象解构

    对象解构是一个有用的 JavaScript 功能,用于从对象中提取属性并将其绑定到变量. 更好的是,对象解构可以在一个语句中提取多个属性,可以从嵌套对象访问属性,并且可以在属性不存在时设置默认值. 在 ...

  10. 3.设计模式之分层思维:为什么要做代码分层架构?

    一.代码分层架构是什么 软件程序通常有两个层面的需求: 功能性需求,简单来说,就是一个程序能为用户做些什么,比如,文件上传.查询数据等: 非功能性需求,这个是指除功能性需求以外的其他必要需求,比如,性 ...

最新文章

  1. python 回溯法 01背包问题_Python回溯法解决01背包问题
  2. 【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件
  3. ARIA and the value of challenge-led innovation
  4. 漫画 | 程序员的悲哀是什么?
  5. Android 通过字符串来获取R下面资源的ID 值 文字资源
  6. Spring框架入门:(非原著,转载)
  7. linux解压覆盖命令
  8. locate: command not found updatedb: command not found
  9. CMD发现一个得到字符串长度的方法
  10. 利用DataGrid的超级联接传值
  11. 什么是多线程,锁,死锁,怎么避免死锁(转)
  12. eclipse中SVN分支合并到主干
  13. LaTeX 符号命令大全
  14. Shiro集成Cas单点登录
  15. 备案指的是域名还是服务器?
  16. kindle自定义屏保之自定义字帖
  17. 数据表与简单java类映射(角色权限)
  18. Arduino ESP32深度睡眠触摸唤醒(触摸唤醒)
  19. 支持小米java文件阅读器_小米开源文件管理器MiCodeFileExplorer-源码研究(0)-初步研究...
  20. 数据挖掘中易犯的10大错误

热门文章

  1. 漏洞修复:javascript框架库漏洞
  2. asp.net 获取网页源文件的方法
  3. 【SAP消息号M8147】
  4. 目标检测——Faster RCNN
  5. 使用pygame制作Flappy bird小游戏
  6. ThreatScan-免费的网站在线安全检测平台_TScan
  7. ARM公司发展历程 - 从1985年至今
  8. 计算机六级准考证,99宿舍如何查询英语六级准考证号
  9. wind10 终端conda切换python环境,pip不存在以及解决easy_install pip报错
  10. 《杀生》,胡说一下电影与思考