best365体育
  • JAVA&大数据架构方向 同与异?

    发布:51Code 时间: 2019-03-27 15:16

  • 架构不是一个职业而是一种能力,每一种架构师只不过是在不同的领域里面使用不同的技术,没有什么可对比,就好比如你问一个篮球明星和一个足球明星有什么区别一样! 01 架构师需要考...

  • 架构不是一个职业而是一种能力,每一种架构师只不过是在不同的领域里面使用不同的技术,没有什么可对比,就好比如你问一个篮球明星和一个足球明星有什么区别一样!

    01  架构师需要考虑四个问题

    1. 确定系统干什么不干什么,也就是说系统的边界在哪里?

    2. 确定架构内部的模块与模块之间的关系,以及模块与外部之间的关系是什么?

    3. 架构确定以后,有能力去指导开发去继续设计和演化,如果开发设计和演化出来的东西和架构不一致也是有问题的。

    4. 确定非功能性需求,安全性,可扩展性,可用性,可维护性。

    02  Java架构方向人才

    ● 系统的技术选型和可行性评估;

    你这可以理解为:你家的房子户型设置,硬件软件配置必须要有自己的经验,装修完之后总得适用,不浪费成本,偏激一点总不能到处是柜子。

    ● 分布式技术框架的把控;

    你这可以理解为:你家的柜子可以做出多种组合,你家的被子是放在A柜,枕头放B柜,床单放C柜,这得看你的划分用途。

    ● 深入发掘和分析业务需求,重点模块的设计、方案评审与技术支持,技术难点攻坚,应用系统分布式技术的落地,撰写技术方案和系统设计,最终完成编码工作;

    你这可以理解为:柜子可以用来放东西,也可以用来拼装;如果组合柜,那可以拼出一些艺术品,那就看你的空间思维了。

    ● 针对产品性能和架构优化,确保系统的架构质量;

    你这可以理解为:柜子如果没有按照之前图纸来规划安装摆放,你就会发现有些地方是可以改进的,及时完全参照图纸,你还是会想如何改进,这就会产生一些小想法;你可能会想如何装更多的物品,如何方便取物,如何整理方便。

    ● 优秀的抽象设计能力,思路清晰,善于思考,能独立分析和解决问题及编写解决方案;

    你这可以理解为:哇,你家的装修真棒,这时你的邻居,或亲威朋友想参考你的想法,你可以提供一整套安装配置方案,现在你就是专家,因为他们想利用空间,发挥你的空间想像力。需要你来指导装修,提高装修质量,减少控制装修成本等等。

    ● 熟悉linux,能熟练应用shell/python等脚本语言;

    ● 扎实的Java基础知识,熟悉IO、多线程及并发技术;

    ● 熟练掌握redis、mongodb、netty、kafka等中间件;

    ● 对JVM原理有扎实的理解,对服务器端设计和编程有深入理解;

    你这可以理解为:你对基建设施了如指掌,编译原理很清楚,恭喜你,你已经超过我了。

    ● 算法基础扎实,熟悉常见的数据结构,熟悉常用的设计模式,深入理解分布式算法和主流分布式系统,了解主流消息队列工作原理;

    你这可以理解为:排序,索引,存储,去重,平滑等一些算法有深入了解,恭喜你,你已经是数学专家级了。

    ● 有丰富的分布式、高并发、高负载、高可用性系统设计经验,熟悉分布式缓存、消息等机制。

    03  大数据架构方向人才

    ● 针对大数据平台的设计和开发制定数据架构规范,进行核心代码编写;

    你这可以理解为:有设计图纸的能力,能够指导各个组件安装部署,以及数据的数据抽象能力。

    ● 针对数据基础架构和数据处理体系的升级和优化,技术难题攻关,持续提升核心系统性能,保证系统的安全、稳定、高效运行;

    你这可以理解为:数据的价值,在于你的抽取采集能力是否高深,是否便于加工,标注。各组件的稳定性,兼容性,是否有预警,在于你的规划和监控接口是否到位。

    ● 大规模数据实时化、大数据技术容器化、私有云实施方案、数据模型规范化等方面根据不同项目的技术发展路线;

    你这可以理解为:引入 Docker 的镜像机制来完善自己的容器;同时计算能力、数据结构抽象、定义,要用自己的风格和规范。能用最简单的配置,迅速跑起来流式streaming或离线处理spark程序.

    ● 跟踪大数据相关领域的技术趋势,竞争对手的产品、技术动态;

    ● 大数据平台的稳定性和性能优化及技术攻关;

    ● 产品研发过程中关键设计的把关和研发;

    ● 精通大数据生态圈主流技术和产品,如Hive、Storm、Flink、Spark,ELK、Kafka,Zookeeper、Yarn,presto,Hue等,对Spark分布式计算的底层原理有深度理解,对复杂系统的性能优化和稳定性的一线实战经验;

    ● 精通实时数据仓库设计,深刻理解MR运行原理和机制,能进行任务执行效率的优化,熟悉开源数据交换工具如sqoop,streamset,kettle,datax等

    ● 熟悉elasticsearch、Lucene、Solr、Kylin、Phoenix、Alluxio等相关技

    ● 具有规划和决策能力,善于捕捉业务需求、架构设计存在的问题,并能给出有效的解决措施和方法 。

    ● 数据预测,预警,人工智能,图像识别,智能语音,物联网数据采集,标注等。线性计算,神经网络,知识图谱,都要有自己的项目,而且能迅速组建团队,成就你的客户,你就是未来的行家和赢家。

    04  两者侧重点不同

    ★ Java架构

    n 开发语言

    n 分布式,高可用

    n 设计模式

    n 支撑业务的系统架构或者工具集

    ★ 大数据架构

    n 不局限开发语言,有Java,Scala,Python,Go等更有裨益

    n 人工智能,商业智能,数据挖掘

    n 离线,实时,高效率,高可用

    n 结构化数据,半结构化数据

    n Hadoop生态圈

    n 使用的模型越来越复杂,计算量指数级上升

    n 组件集

    05  总之

    了解到用户的痛点,抓住用户的喜好,改善用户的体验。

    一个好的产品,一定要让用户感觉到爽。核心问题还是哪些数据值的采集,每个开发,码者都应该站在产品的角度去思考问题,如何描绘出适合我们的一套智能化,自动化的问题解决方案

    文章来源:网络
    如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8103),我们将立即处理。
  • 上一篇:总结Java程序员最常用的20%技术

    下一篇:网传华为 Java 编程军规

网站导航
Copyright(C)51Code软件开发网 2003-2019 , 沪ICP备05003035号-6