2017 年能力转型需要了解的技术栈

栏目: IT技术资讯 发布于: 2017-01-11 23:33:07



为了满足 2017 年技术转型的需要,最近我整理了一下云计算和分布式场景下的技术栈全景,大部分是按照我自己的理解,整理的信息如下:


(点击图片,查看大图)


(1)Selenium:Web 自动化测试工具,工具直接运行在浏览器中,模拟用户在浏览器上的所有操作,包括点击、输入等;


(2)VM:虚拟机技术,使用软件模拟计算机硬件,在宿主计算机系统上模拟运行一个或多个操作系统的技术;


(3)Docker:是一种开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到部署 Docker 的 Linux 机器上,实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口;


(4)Mongodb:一个基于分布式文件存储的数据库,是一个介于关系数据库和非关系数据库之间的产品,为 WEB 应用提供可扩展的高性能数据存储解决方案。


(5)MySql:和 Amoeba 或 MySQL Proxy 结合使用可扩展为分布式数据库;


(6)Amoeba:Amoeba 是一个以 MySQL 为底层数据存储,并对应用提供 MySQL 协议接口的 proxy,它集中地响应应用的请求,将 SQL 请求发送到特定的数据库上执行。基于此可以实现负载均衡、读写分离、高可用性等需求;


(7)MySQL Proxy:一个 MySql 中间层代理,MySQL Proxy 就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用 lua 脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负载平衡;


(8)Scala:是一门多范式的编程语言,一种类似 java 的编程语言,并集成面向对象编程和函数式编程的各种特性;


(9)Golang:Go 是 Google 开发的一种编译型,可并行化,并具有垃圾回收功能的编程语言;


(10)Restful:一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁、更有层次、更易于实现缓存等机制;


(11)Thrift:是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在各种编程语言间无缝结合的、高效的服务;


(12)Hadoop:是一个分布式系统基础架构,Hadoop 能够对大量数据进行分布式处理的软件架构。以一种可靠、高效、可伸缩的方式进行数据处理;


(13)HDFS:全称为 Hadoop 分布式文件系统,它具备高容错性,且可以部署在低廉的硬件上,具有高吞吐率来访问应用程序数据。


(14)MapReduce:MapReduce 是一种编程模型,用于大规模数据集(大于 1TB)的并行运算,MapReduce 通过把计算量分配给不同的计算机群,能够解决大部分和大数据有关的分析问题;


(15)HBase:HBase 是一个分布式的、面向列的开源数据库,是一个适合于非结构化数据存储的数据库;


(16)Zookeeper:一个分布式的,开放源码的分布式应用程序协调服务,是 Hadoop 和 Hbase 的重要组件,为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等;


(17)Hive:Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的 sql 查询功能,可以将 sql 语句转换为 MapReduce 任务进行运行;


(18)Pig:一种操作 hadoop 的轻量级脚本语言,Pig 可以非常方便的处理 HDFS 和 HBase 的数据,和 Hive 一样,Pig 可以非常高效的处理其需要做的,通过直接操作 Pig 查询可以节省大量的劳动和时间;


(19)Ambari:一种基于 Web 的工具,支持 Apache Hadoop 集群的供应、管理和监控,是 5 个顶级 hadoop 管理工具之一;


(20)Sqoop:主要用于在 Hadoop (Hive) 与传统的数据库间进行数据的传递,可以将一个关系型数据库中的数据导进到 Hadoop 的 HDFS 中,也可以将 HDFS 的数据导进到关系型数据库中;


(21)Chubby:Google 在系统的可靠性方面提出了中心化的组件 Chubby —粗粒度锁服务,通过锁原语为其他系统实现更高级的服务;


(22)Memcache:是一套分布式的高速缓存系统,通过在内存里维护一个统一的巨大的 hash 表,它能够用来存储各种格式的数据;


(23)Redis:Redis 是一个高性能的 key-value 数据库,很大程度补偿了 memcached 这类 key/value 存储的不足,在部分场合可以对关系数据库起到很好的补充作用;


(24)Ehcache:是一种广泛使用的开源 Java 分布式缓存。主要面向通用缓存,Java EE 和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个 gzip 缓存 servlet 过滤器,支持 REST 和 SOAP api 等特点;


(25)Kafka:是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素;


(26)Beego:Beego 是一个快速开发 Go 应用的 http 框架,Beego 可以用来快速开发 API、Web、后端服务等各种应用,是一个 RESTFul 的框架;


(27)Spark:用 Scala 语言实现,Spark 是类似于 Hadoop MapReduce 的通用并行框架,拥有 Hadoop MapReduce 所具有的优点,Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法;


(28)Akka:Akka 是 JAVA 虚拟机 JVM 平台上构建高并发、分布式和容错应用的工具包和运行时。Akka 用 Scala 语言写成,同时提供了 Scala 和 JAVA 的开发接口;


(29)Elasticsearch:是一个基于 Lucene 的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口,设计用于云计算中,能够达到实时搜索,稳定、可靠、快速、安装使用方便;


(30)ExtJS:ExtJS 主要用来开发 RIA 富客户端的 AJAX 应用,主要用于创建前端用户界面,与后台技术无关的前端 ajax 框架。因此,可以把 ExtJS 用在 .Net、 Java、Php 等各种开发语言开发的应用中;


(31)Bootstrap:是目前很受欢迎的前端框架,Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它可以对 Bootstrap 中所有的 CSS 变量进行修改,依据自己的需求裁剪代码;


(32)Eview:我司提供的一套前段控件,支撑我司 WebUI 功能的开发;


(33)AngularJS:是一款优秀的前端 JS 框架,AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等等;


(34)Polymer:是一个使用 Web 组件构建 Web 应用的类库,同时也使用了为 Web 构建可重用组件的新的 HTML 5 标准。Polymer 为大部分 Web 组件技术提供了 polyfills 功能,它能让开发者在所有的浏览器支持新特性前创建自己的可重用组件;


(35)jQuery:是一个快速、简洁的 JavaScript 框架,它封装 JavaScript 常用的功能代码,提供一种简便的 JavaScript 设计模式,优化 HTML 文档操作、事件处理、动画设计和 Ajax 交互;


(36)Prototype:是目前应用最为广泛的 Ajax 开发框架,其的特点是功能实用而且尺寸较小,Prototype 框架可以大大地简化 JavaScript 代码的编写工作具备兼容各个浏览器的优秀特性,使用该框架可以不必考虑浏览器兼容性的问题;


(37)Underscore:是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象,提供了 100 多个函数,包括常用的:map、filter、invoke 等还有更多专业的辅助函数;


(38)RequireJS:是一个 JavaScript 文件和模块加载器,允许把 javascript 代码独立成文件和模块,同时管理每个模块间的依赖关系。RequireJS 的目标是鼓励代码的模块化,使用 RequireJS 加载模块化脚本将提高代码的加载速度和质量;


(39)JavaScript:一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言;


(40)Typescript:TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程;


(41)Apache:Apache 是世界使用排名第一的 Web 服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一;


(42)Nginx:Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件 (IMAP/POP3) 代理服务器,特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好;


(43)OpenStack:是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack 支持几乎所有类型的云环境,通过各种互补的服务提供了基础设施即服务 (IaaS) 的解决方案,每个服务提供 API 以进行集成;


(44)Nova:Nova 是 OpenStack 计算的弹性控制器。OpenStack 云实例生命期所需的各种动作都将由 Nova 进行处理和支撑,这就意味着 Nova 以管理平台的身份登场,负责管理整个云的计算资源、网络、授权及测度;


(45)Swift:为 OpenStack 提供一种分布式、持续虚拟对象存储,具有跨节点百级对象的存储能力,并内建冗余和失效备援管理,也能够处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常高效;


(46)Glance:OpenStack 镜像服务器是一套虚拟机镜像发现、注册、检索系统,我们可以将镜像存储到以下任意一种存储中;


(47)Keystone:为所有的 OpenStack 组件提供认证和访问策略服务,它依赖自身 REST 系统进行工作,主要对 Swift、Glance、Nova 等进行认证与授权。事实上,授权通过对动作消息来源者请求的合法性进行鉴定;


(48)Horizon:Horizon 是一个用以管理、控制 OpenStack 服务的 Web 控制面板,它可以管理实例、镜像、创建密匙对,对实例添加卷、操作 Swift 容器等。用户还可以在控制面板中使用终端 (console) 或 VNC 直接访问实例。



 作者简介 


杨涛


2009 年入职华为无线 OSS 维护开发部,2009 -2010 年负责 M2000 产品维护开发工作,2010-2015 年负责 CME 产品维护开发,从 2016 年到现在负责 EMSFMA 产品开发和产品 DFX 分析工作。擅长 C++/C#/GO 等编程语言以及 Linux 操作系统和 Sybase 数据库,重点关注各种云化、分布式以及人工智能技术。



往期精华文章  

微信公众号中回复数字查看更多精华文章:


回复【1】:技术干货

回复【2】:程序员幽默世界

回复【3】:物联网江湖

回复【4】:华为招聘

回复【5】:HDG 视频 + PPT 汇总

回复【6】:华为开发者大赛获奖作品展


本文转载于微信公众号: 华为开发者社区(Huawei_eSDK),更多微信文章请扫描关注公众号:

华为开发者社区

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。
转载请注明:文章转载自 [http://www.php230.com]
本文标题:2017 年能力转型需要了解的技术栈
IT技术书籍推荐:
Python黑帽子:黑客与渗透测试编程之道
Python黑帽子:黑客与渗透测试编程之道
塞茨 (Justin Seitz) (作者), 孙松柏 (译者), 李聪 (译者), 润秋 (译者)
本书是畅销书《Python 灰帽子—黑客与逆向工程师的 Python 编程之道》的姊妹篇,那本书一面市便占据计算机安全类书籍的头把交椅。本书由 Immunity 公司的高级安全研究员 Justin Seitz 精心撰写。作者根据自己在安全界,特别是渗透测试领域的几十年经验,向读者介绍了 Python 如何被用在黑客和渗透测试的各个领域,从基本的网络扫描到数据包捕获,从 Web 爬虫到编写 Burp 扩展工具,从编写木马到权限提升等。 作者在本书中的很多实例都非常具有创新和启发意义, 如 HTTP 数据中的图片检测、 基于 GitHub命令进行控制的模块化木马、浏览器的中间人攻击技术、利用 COM 组件自动化技术窃取数据、通过进程监视和代码插入实现权限提升、通过向虚拟机内存快照中插入 shellcode 实现木马驻留和权限提升等。通过对这些技术的学习,读者不仅能掌握各种 Python 库的应用和编程技术,还能拓宽视野,培养和锻炼自己的黑客思维。读者在阅读本书时也完全感觉不到其他一些技术书籍常见的枯燥和乏味。
最新互联网资讯
互联网资讯