描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302515869
1.1平台架构设计的总体技术要求
1.2微服务引擎的可扩展性设计
1.3微服务引擎的优秀解决方案
1.3.1 高并发采集微服务
1.3.2 灵活转发微服务
1.3.3 高可扩展海量存储服务
1.3.4 高并发海量存储服务
1.3.5 高可靠海量存储服务
1.3.6 实时计算服务
1.3.7 基于机器学习的智能分析服务
1.3.8 自定义迁移服务
1.4设计小结· 17
第 2章 大数据高并发采集微服务引擎
2.1核心需求分析和优秀解决方案
2.2服务引擎的技术架构设计
2.2.1 Maven与 Eclipse集成配置
2.2.2 Mina2.0框架以及业务设计
2.2.3 设备协议规范制定及数据包设计
2.2.4 按照设备和数据类型进行业务树构建
2.2.5 按照设备的数据包状态进行解析
2.2.6 按照通用方式进行高并发入库
2.3核心技术讲解及模块化设计
2.3.1 Spring Maven Web服务构建
2.3.2 Spring Boot微服务构建
2.3.3 数据包定义和实现
2.3.4 业务树构建和实现
2.3.5 数据包状态进行解析实现
2.3.6 按照通用方式进行高并发入库实现
2.3.7 客户端模拟器工具类进行高并发测试
2.4项目小结·
第 3章 大数据灵活转发微服务引擎
3.1核心需求分析和优秀解决方案
3.2服务引擎的技术架构设计
3.3核心技术讲解及模块化实现
3.3.1 Spring MVC Web服务构建
3.3.2 Spring Boot微服务构建
3.3.3 灵活配置和通用工具类构建
3.3.4 创建发送数据主题,注册观察者对象
3.3.5 启动多线程进行数据发送
3.3.6 采用 Post策略模式进行数据发送
3.3.7 采用 ActiveMQ策略模式进行数据发送
3.4项目小结· 173
4.1核心需求分析和优秀解决方案
4.2服务引擎的技术架构设计
4.3核心技术讲解及模块化实现
4.3.1 Spring MVC的工作原理及执行流程
4.3.2 Spring MVC Web服务构建
4.3.3 Spring Boot Web微服务构建
4.3.4 统一对外数据接收接口及通用类
4.3.5 MySQL对智能终端运动数据的分状态和分策略处理
4.3.6 MySQL对智能终端运动数据的分职责处理
4.3.7 MySQL对智能终端运动数据的统一入库处理
4.4项目小结
第 5章 大数据高并发海量存储微服务引擎
5.1核心需求分析和优秀解决方案
5.2服务引擎的技术架构设计
5.3核心技术讲解及模块化实现
5.3.1 Spring MVC和 Spring Boot集成 MongoDB
5.3.2 MongoTemplate核心类实现 Dao层接口
5.3.3 基于 MongoDB处理智能终端运动数据
5.3.4 基于 MongoDB管道技术处理体检数据
5.3.5 基于 AngularJS架构可视化体检数据
5.4项目小结·
第 6章 大数据高可靠海量存储微服务引擎
6.1核心需求分析和优秀解决方案
6.2服务引擎的技术架构设计
6.3核心技术讲解及模块化实现
6.3.1 Hadoop完全分布式集群构建
6.3.2 Spring MVC和 Spring Boot集成 Hbase
6.3.3 HbaseTemplate核心类实现 Dao层接口
6.3.4 Hbase集群的智能终端运动数据 Controller接口
6.3.5 Hbase集群的智能终端运动数据 Service接口
6.3.6 Hbase集群的智能终端运动数据 Dao接口
6.4项目小结
第 7章 大数据实时计算微服务引擎
7.1核心需求分析和优秀解决方案
7.2服务引擎的技术架构设计
7.3核心技术讲解及模块化实现
7.3.1 分布式采集服务 Flume部署及数据采集
7.3.2 分布式消息服务 Kafka部署及数据发送
7.3.3 创建 HBase数据库和 Spark环境
7.3.4 分布式实时处理引擎 Spark Streaming原理及数据处理
7.3.5 构建 BD_RTPServer_DP工程实现数据处理
7.3.6 构建 BD_RTPServer_Boot服务实现可视化
7.4项目小结
第 8章 大数据智能分析微服务引擎
8.1核心需求分析和优秀解决方案
8.2服务引擎的技术架构设计
8.3核心机器学习算法讲解和应用
8.3.1 逻辑回归的原理分析
8.3.2 支持向量机原理分析
8.3.3 决策树原理分析
8.3.4 聚类算法原理分析
8.3.5 关联规则算法原理分析
8.3.6 协同过滤原理分析
8.4 Spark架构原理与数据预测
8.4.1 YARN运行架构工作原理
8.4.2 Spark Mlib核心技术
8.4.3 Spring Maven工程构建
8.4.4 决策树预测体检费用
8.4.5 逻辑回归预测体检费用
8.4.6 随机森林预测体检费用
8.4.7 支持向量机预测疾病概率
8.4.8 协同过滤推荐药品
8.5项目小结
第 9章 大数据自定义迁移微服务引擎
9.1核心需求分析和优秀解决方案
9.2服务引擎的技术架构设计
9.3核心技术讲解及模块化实现
9.3.1 Hadoop生态的核心组件
9.3.2 HBase工作原理
9.3.3 Sqoop工作原理
9.3.4 MapReduce工作原理
9.3.5 Sqoop抽取历史数据到 HDFS
9.3.6 构建工程 BD_CustomTransfer_Maven
9.3.7 智能终端运动数据从 MySQL数据迁移到 Hive
9.4项目小结
域,尤其在企业数据资源化、传统行业智能化、分析引擎产品化等方向上迎来前所未有的发展机遇。与此同时,大数据的中高端人才缺乏严重阻碍大数据产业发展,尤其是掌握技术、精通管理、拥有项目经验的高级工程师成为企业炙手可热的人才。在北上广深杭等一线城市,有一年以上工作经验的大数据工程师的月薪过万,有几年工作经验的数据分析师的年薪在 30万~50万元之间,而更顶尖的大数据技术人才则是年薪超百万,成为各大互联网和一流企业争夺的对象。2018年 1月,208所高校、高职院校获批开设“大数据技术与应用”专业。同时,教育部设立了“数据科学与大数据技术”本科专业, 35所大学已获批开设,还有 200多所高校正在申报。纵观企业的大数据人才需求和高校的课程设立布局,应试者的实操能力和项目经验积累越来越受到注重。在专业技能上,重点需求体现在大数据基础平台建设和应用开发上,涵盖了高并发采集、灵活转发、海量存储、实时计算、智能分析和高效迁移等专业技能。在个人能力要求上,重点需求体现在责任心、团队合作能力和解决问题能力等方面。本书重点讲授大数据全栈专业技能,
但接下来,我先谈谈大数据工程师的个人能力要求和职业发展规划。
我从事计算机领域研发 16年来,主导负责了十多个国家项目,经历了单机服务到
分布式服务的项目研发模式,也实践了从百万用户到上亿用户的商用产品。但是,在新
的移动互联网和大数据时代,对工程师和技术研发人员的专业技能和个人能力提出了新
的要求,单兵作战模式无法成就一个商业产品,需要设计驱动和团队协同作战。团队合
作和协同作战一直是我倡导的软件产品商用化的管理模式,我的很多学生在 BAT等知
名互联网公司担任技术主管,从某种意义上来说,得益于我很早就对团队赋予了设计引
领产品的创新思想。但是,在我的职业发展中也曾多次面临发展瓶颈,我是如何面对挑
战和压力呢?接下来,我想分享一下在软件研发职场上的晋升技巧和有效工作方法,让
大家少走弯路,多获捷径。大数据工程师的职业发展路线大致分几个关键阶段:一是上
升为项目经理阶段;二是历练为技术经理阶段;三是发展为资深架构师阶段;四是成长
为首席技术官(CTO)阶段。
第一个阶段是上升为项目经理,先争取在项目中担任技术骨干,并逐步主动承担和
肩负更多更具挑战的研发任务。项目经理职位在一流的互联网公司至少需要奋斗 3年以上,如何缩短这个非常漫长和艰苦奋斗的过程,建议从以下几个方面做起。
一是需要责任心和主动性,不仅要按时完成项目经理交付的开发任务,最好还经常帮助同事突破技术难题。建议是:一定要为成为技术专家而不懈努力,千万别奔波在做一些事务性的工作而忽略技术本身,软件工程师的核心竞争力就是拥有全面的核心技术,并具备快速解决技术难题的能力。
二是要有很强的团队合作能力,善于发现别人优点并学会适当表扬,善于总结自己的研发成果并学会主动分享,善于表达自己并学会归纳总结。团队合作能力也是需要不断提升的,多听取别人的忠告而改变自己,多帮助别人解决问题而感受快乐,多用心学习核心技术而不搬弄是非。
三是要学会成就团队,就是能创造一个环境,让每个人都能在其中发挥出更多的能力,也就是一种领导力。我在华为工作期间,主动承担了一些技术维护工作,经常为大家管理服务器并配置环境,很快被同事们赋予“大管家”称号,自己在享受称号的同时也得到了领导的认可,虽然技术维护工作本身不计算在绩效中,但是其对团队的运营能力提升是举足轻重的。学会成就团队是树立你在团队中威望的很重要品质。
四是要提升汇报和总结能力。不管是民营企业还是国有企业,汇报能力对职场人都是非常重要的,究其原因是汇报能体现一个人的综合能力,需要有严谨的逻辑思维和优秀的写作能力,让领导在短时间内掌握一个项目的开发现状、存在问题、解决方案和创新工作等。更好地规划工作、布局工作、超预期完成工作,并在适当时候提出有建设性的宝贵意见是至关重要的。汇报工作的核心是分析和解决方案,领导都是团队中最忙和承担压力最大的人,比起发现问题来说,他更关注的是问题分析和最优解决方案。工程师学会多思考问题并有针对性地提出优秀解决方案,对团队和个人发展都是至关重要的。比如我们的项目因缺乏设计而导致开发周期太长,比如我们的项目因不能定期和客户沟通需求而导致偏离实际需求,比如我们不能按期交付项目成果而导致领导不满意。
第二个阶段是历练为技术经理。这个阶段对于一般的项目经理而言就是一个项目接着一个项目交付,上升空间遥不可及,如果要突破晋升空间也是有工作方法和拓展思路,建议从以下几个方面做起。
一是把控好项目的里程碑并学会提升管理水平。项目要有合理规划,从项目工作计划到项目任务分解、从技术选型到技术验证成功、从总体设计规划到架构设计细化、从架构设计分解到概要设计说明、从概要设计到详细设计落实、从详细设计规划到核心代码编写等,都是需要不同阶段的技术评审和质量审查,都是需要分时段交付研发成果,都是需要管理和技术能够协同推进。
二是要加强团队建设,更关注人才的能力和培养。带团队就是带人心,在公司规则之内多考虑员工的合理想法,切不能顾此失彼地加压。从团队建设力度就可以看出公司的发展动向,如果以人为本重视长期发展,常常会考虑激励和培养员工,这恰恰也是小公司的努力方向,希望多重视程序员的意见并采纳实施,其实这样做之后最大受益者也是老板。
三是要多输出具备影响力的项目成果,如商用产品、项目奖项、核心专利和高水平学术论文。任何公司都是需要产品布局和发展规划的,尤其是短时间内要占领行业制高点,最好是有核心竞争力的产品或者专利来支撑公司在行业的领航地位。这个核心竞争力就是来源于项目而高于项目本身的拳头产品。我们在研发中多积累优秀设计思想、多总结提炼核心算法、多琢磨技术难题的创新解决方案、多讨论问题碰撞思想火花、多研究论文学习前辈的前瞻思想。
四是多读书,多学习优秀管理思想,领会分层管理的领导艺术和对结果负责的管理体制,更不能越权管理。技术经理往往需要掌握分级分层的管理思想。如果我们的日常工作都聚焦在具体事务上,如果不关注产品运营而拘泥于任务细节上,如果没有远大的理想和成就一番事业的抱负,如果没有带领团队打造核心产品的目标,那么在行动和执行力上就会出现小格局、小思维,最终因为延误战机而失去创造奇迹的机会,没有成功的团队就不会有成功的个人,没有成功的个人谈何脱颖而出的成功技术领导人?华为公司成功的原因之一就是层层管理者都要保证按期交付而不越权管理,高层领导负责战略和市场,中层领导负责战术落地实施并跟踪任务,基层人员负责细节实施和按期交付,一个完备的权责明确的分层管理机制一定会推动公司高效的运营。越权管理不仅会导致基础管理员失去权力而懈怠,更会导致不能细化管理而延误进度,大目标都是小里程碑积累完成的,不积跬步何以至千里。
第三个阶段是发展为资深架构师。这个阶段需要在知名企业的一线产品上历练十年以上,架构师是一个既需要掌控整体,又需要洞悉局部瓶颈的技术领袖。架构师在整个产品研发的生命周期中都起着至关重要的作用,随着开发进程的推进,其职责或关注点不断地加深。在需求分析阶段,软件架构师主要负责梳理非功能性系统需求,如软件的高可维护性、高性能、高复用性、高可靠性、有效性和可测试性等,另外,架构师还要经常分析客户不断变化的需求,确认开发团队所提出的设计;在总体设计阶段,架构师的关注点主要在开发团队的技术能力和开发模式;在软件概要和详细设计阶段,架构师负责对整个软件体系结构、关键构件、接口和开发策略的设计;在代码编写阶段,架构师则成为详细设计者和代码编写者的老师,并且要经常性地组织一些技术研讨会、技术培训班等来提升团队的技术能力;在软件测试交付阶段,架构师跟踪关注性能需求,同时开始为下一版本的产品是否应该增加新的功能模块进行决策。从架构师的工作职责上说:一是必须具有丰富的软件设计与研发经验,并验证所进行的设计是如何映射到实现中去;二是要具有领导能力与团队协作能力,架构师必须是一个团队最核心的技术领导人,能在关键时刻对技术的选择做出及时、有效的决定;三是要有不断积累新技术和新架构的技术能力,架构师需要掌握的知识是多维度和多方面的,如精通各种标准的通信协议、网络服务、面对对象数据库、关系数据库或者 NoSQL数据库、数据处理和分析等知识,另外,架构师应与时俱进地学习新软件设计和开发思想,并不断探索更有效的新方法。开发语言、设计模式和开发平台不断地升级,架构师需要吸收这些新技术、新知识,并将它们用于软件产品和项目开发工作中。总的来说,架构师是一个技术高端职位,技术经理如何得到这样的机会,如何利用所掌握的技能进行应用的合理构架,如何不断地抽象和归纳自己的构架模式,如何深入行业成为一流公司的架构师,确实需要不断地磨炼。
第四个阶段是成长为公司 CTO。这个阶段需要有敢为人先的胆识、阅历丰富的见识、与时俱进的学识。作为 CTO,要想突破自己的领导位置,要敢于大胆提出创新思想和超前理念来带领团队脱颖而出,同一个起跑线上更需要与众不同的决心和勇气,好的机会永远是留给有胆识的技术领导人,切勿在关键时刻瞻前顾后或者犹豫不决,否则很难成就一番大业,最有说服力的例子就是 BAT的创始人,他们用超人的胆识抓住了移动互联网高速发展契机,各自打造自己擅长的垂直领域,通过核心技术让本地化和移动设备完美结合,改变了新时代下的人的消费和社交模式。要想突破自己的技术职级,要提升自己对行业信息和外界发展的见识,不能守旧在自己的技术领域。很多技术经理习惯停留在技术舒适区,不愿意进入挑战区,而且很少参加国际或者国内的主流峰会,很难提出高瞻远瞩的创新性的解决方案。作为技术领导人,要想超越同行成为佼佼者,要静下心来沉淀和历练,只有拼出来的美丽,没有等出来的辉煌。
评论
还没有评论。