IT名词概括与简单了解
云计算概念
云架构
- 我看过两本云计算,《云计算》《云计算架构技术与实践》
- 云计算是一个很广的概念,简单的说将互联网中的计算机资源按需分配,提高闲置资源的利用率,需要多少你就购买多少,以前是买软件和硬件,现在是买服务
- 从我们公司的角度,购买云服务可以减少运维成本,得到可伸缩性的弹性服务,你可以认为云的计算/存储能力是无限的
- 现在主流的云服务有IAAS(基础设施服务),PAAS(平台服务),SAAS(软件服务)
- 云架构包括了很多技术领域,虚拟化技术,分布式计算,分布式存储,网络技术,容器技术
- 虚拟化是基础设施层的核心技术
- 虚拟化就是将硬件设施拆分抽象,然后进行统一管理,虚拟化包括CPU虚拟化,存储虚拟化,网络虚拟化,操作系统虚拟化
- 目前主流的虚拟化技术有Xen,可以实现不同级别的虚拟化, KVM可以实现基于Linux内核的虚拟化
- 开源框架OpenStock可以对这些不同虚拟化实现进行整合,组成一个分布式系统
- OpenStock是一款来源云操作系统框架
- 他提供了很多与架构功能,包括计算服务,存储服务 ,镜像服务,网络服务,容器服务
- OpenStock还整合了很多容器,比如Docker,还有大数据系统Hadoop
- 基于OpenStock和虚拟化可以提供云架构的基础设施服务
- 现在更热的是PAAS,很多大公司包括亚马逊,谷哥,微软的Azuro都提供云平台服务
- 平台服务就是给客户提供系统的开发运行环境,就是容器
- 他比IAAS更低成本,因为他是按流量收费或者资源使用量的,而不是按虚拟机个数,而且他更稳定,因为相比自己实现,容器帮你屏蔽了宕机等风险,PAAS还有一个优点是它可以实现智能化的资源分配,使你的系统在高峰和低峰获取相应的资源。
- 要实现PAAS,Docker实现在很火的容器技术
- 基于Docker的云平台服务有一个很大的优势,它屏蔽了你的开发语言,你提交到PAAS的不再是代码,而是Docker镜像。不像以前PAAS,只支持少数语言,而且迁移到云端的时候还得该大量代码。
- 对于现代企业来说桌面云是一种很好的选择,它有几大优点,降低成本,统一管理,移动化办公等。
云应用
- 了解云服务的架构,可以使我们更好的使用云服务,对于我们开发团队来说,如何更好的利用云平台来实现我们的应用是我们需要关注的事情
- 这里有一个概念,就是原生云,并不是你把项目迁移到云,你有是一个云应用,因为你没有享受到云服务的大部分好处
- 原生云是可扩展性的,分布式的,云的真正优势所在,只能通过使用原生云服务实现。
- 系统与平台松耦合 :比如你用微软的Azure,然后用力他们的DocumentDB,你的应用就被绑定在Azure上了
- 单一职责的服务器:从而实现蓝绿部署原则
- 子系统松耦合: 每一个子系统都可以按照自己的需求来获取相应的资源
- 系统和WEB容器松耦合: 可以让Web容器利用云平台的负载均衡器或者队列机制,独立的扩展Web容器而和应用系统无关
- 将本地存储看做是临时存储: 在传统方法中,应用将配置、日志文件、图像等存储在本地存储中。然而,需要改变这种做法,任何持久信息都应转移到一个持久的服务上,实现数据块或对象的存储。
- 构建弹性云: 最好是在架构和设计时,就考虑到对应用故障的处理,而不是去考虑并力图实现稳健性。稳健性是永远也不可能实现的。消除单点故障(SPOF,Single Point Of Failure),逐层构建弹性。这样,即使底层硬件发生故障,应用也可正常运行。 AWS Availability Zones(AZ)和Regions简化了冗余能力的设计,类似的服务还有Azure Locally Redundant Storage(LRS)、Zone-redundant Storage(ZRS)、Geo-redundant Storage(GRS)和Read-access geo-redundant storage(RA-GRS)
- 边缘站点(Edge Location)的缓存 : AWS边缘站点(Edge Location)或Azure PoP(Point of Presence)将缓存提升到了一个新的级别,并降低了延迟。尽可能地使用支持经由边缘站点进行内容传送的云原生服务(例如,AWS Cloudfront或Azure CDN)。
- 在每一层上应用安全
- 我是搞Java的我目前正在看的是Spring Cloud,他重要用于实现微服务架构
- 我们还要考虑哪些应用适合运化,哪些不适合
- 游戏类,图形渲染类,大流量实时要求高不适合
- 高性能计算,大数据存储,多方合作的应用适合
- 各大云服务提供商
物联网概念
- 物联网就是万物互联,具体的将就是将需要联网的设备终端,用户接口,和信息处理系统联通
- 其中设备终端要有一个可编程的平台:这个平台包括芯片组,CPU,传感器,通信模块等
- 物联网可以分为三个主要模块:传感器,网络通信,还有管理系统
- 传感器有射频识别(RFID),GPS,红外,图像感知,光,温度,距离,心率等等
- 物联网开发分为终端设备编程,就是嵌入式编程,还有就是软件开发,物联网终端设备要懂的是传感器,IP6,无线通讯等
网络编程概念
网络基础
- 保留ip
- 10开头, A类个数最多
- 127.16-127.31, B类,docker内部网络占用
- 192.168, C类,个数最少,局域网最常用
基础
- TCP/IP
- TCP是一种基于连接的协议。在使用流通信之前,我们必须在通信的一对儿socket之间建立连接。其中一个socket作为服务器进行监听连接请求。另一个则作为客户端进行连接请求。一旦两个socket建立好了连接,他们可以单向或双向进行数据传输。
- UDP
- UDP是一种无连接的协议,这就意味着我们每次发送数据报时,需要同时发送本机的socket描述符和接收端的socket描述符。
- HTTP
- 单工通道应用层协议
- 基于TCP/IP
- Socket
- 对TCP或者UDP接口的封装的接口,使得通讯协议更加便于使用
- WebSocket
- 双工通道应用层协议
- WebSocket是html5的一部分
- Java可以用Spring WebScoket和Tomcat WebSocket
Java Only
- Servlet
- Java对于网络编程的规范接口,所以服务器端必须是Java程序
- 具有Java平台无关特性
- 具有网络协议无关性
- HTTPServlet
- 支持HTTP协议的Servlet,好像没有其他Servlet支持其他协议
- Servlet容器:Tomcat,Weblogic/Jetty
- 对HttpServlet抽象类的不同实现
- 运行在JVM中
- 接收到浏览器发送的Http请求后,将其封装成HttpServlet,由于发送方式js,接收方式java,所以容器必须理解两种语言的不同规范,进行相互转换
- 看源码
- Struts2的Action
- 对Http协议的另一种规范接口
- 通过拦截action规范的http请求后,将其封装成java bean
- 看源码
- Spring MVC
- 看源码
- HttpClient
- Java用于发送Http请求,比如servlet请求或者action请求
编程语言无关
- WebService
- 对于网络编程的规范
- 具有平台无关性
- 支持HTTP,FTP,SMTP等协议
- 最重要的是具有编程语言无关性
- SOAP
- 简单对象访问协议的WebService
- 支持HTTP,FTP,SMTP等协议
- Java框架有Xfire、Axis2、CXF、Axis1
- 使用Web Service的过程:获得该服务的WSDL描述,根据WSDL构造一条格式化的SOAP请求发送,然后接收一条同样SOAP格式的响应,最后根据先前的WSDL解码数据
- REST
- 表象化状态转变风格架构的WebService
- REST为每一个资源指定一个唯一的URI,而用HTTP的4种方法GET、POST、PUT、DELETE直观地表示获取、创建、更新和删除
- 服务器无状态带来了简单的好处之外,还带来了安全验证的问题,这种复杂化会使RESTfull走向SOAP
- RESTEasy、Wink、CXF、Axis2
DevOps
资料
- https://www.sohu.com/a/198439910_100038984
- https://blog.csdn.net/wowotuo/article/details/79293323
- https://blog.csdn.net/bntX2jSQfEHy7/article/details/79168865
总结
代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion
构建工具:Ant、Gradle、maven
自动部署:Capistrano、CodeDeploy
持续集成(CI):Bamboo、Hudson、Jenkins
配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail
容器:Docker、LXC、第三方厂商如AWS
编排:Kubernetes、Core、Apache Mesos、DC/OS
服务注册与发现:Zookeeper、etcd、Consul
脚本语言:python、ruby、shell
日志管理:ELK、Logentries
系统监控:Datadog、Graphite、Icinga、Nagios
性能监控:AppDynamics、New Relic、Splunk
压力测试:JMeter、Blaze Meter、loader.io
预警:PagerDuty、pingdom、厂商自带如AWS SNS
HTTP加速器:Varnish
消息总线:ActiveMQ、SQS
应用服务器:Tomcat、JBoss
Web服务器:Apache、Nginx、IIS
数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库
项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker
IT名词概括与简单了解的更多相关文章
- 设计模式之工厂方法模式VS简单工厂方法模式
名词解释: 简单工厂:这个实在是没什么解释的,就是一个工厂类,然后有一个方法,根据传递的参数可以通过switch(你也可以是if,或者是使用高端的反射 )来进行对象的创建. 工厂方法:定义一个用于创建 ...
- 简单解析nestJS目录
使用Nest CLI设置新项目非常简单 .只需确保 安装了npm,然后在OS终端中使用以下命令: $ npm i -g @nestjs/cli $ nest new project-name $ cd ...
- Java工程师面试题
1. J2EE 是什么?它包括哪些技术?解答:从整体上讲,J2EE 是使用 Java 技术开发企业级应用的工业标准,它是 Java 技术不断适应和促进企业级应用过程中的产物.适用于企业级应用的 J2E ...
- DDD兴起的原因以及与微服务的关系
DDD为什么能火起来? 我们先不讨论DDD的定义, 先梳理一下DDD火起来的背景, 根据我学习的套路, 永远是为什么为先,再是解决什么问题,是什么东西, 最后如何使用.我们都知道这些年随着设备以及技术 ...
- C#代码规范
C#代码规范 一.文件命名 1 文件名 文件名统一使用帕斯卡命名法,以C#类名命名,拓展名小写. 示例: GameManager.cs 2 文件注释 每个文件头须包含注释说明,文件头位置指的是文件最 ...
- 【英语魔法俱乐部——读书笔记】 2 中级句型-复句&合句(Complex Sentences、Compound Sentences)
[英语魔法俱乐部——读书笔记] 2 中级句型-复句&合句(Complex Sentences.Compound Sentences):(2.1)名词从句.(2.2)副词从句.(2.3)关系从句 ...
- 《MFC游戏开发》笔记六 图像双缓冲技术:实现一个流畅的动画
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9334121 作者:七十一雾央 新浪微博:http:/ ...
- c# 枚举基础有[flags]和没有的的区别
枚举提供成组的常数值,它们有助于使成员成为强类型以及提高代码的可读性.在 C# 中,使用 enum 来声明枚举. 枚举分为简单枚举和标志枚举两种. 基本语法示例 enum Day { Sun, Mon ...
- android -- 蓝牙 bluetooth (一) 入门
前段时间在 网上看了一些关于android蓝牙的文章,发现大部分是基于老版本(4.1以前含4.1)的源码,虽然无碍了解蓝牙的基本原理和工作流程,但对着4.2.2的代码看起来总是有些遗憾.所以针对4.2 ...
随机推荐
- erlang并发编程
1.erlang中创建进程(非操作系统线程,比其要轻量很多)非常方便,运用spawn函数即可 spawn(Fun) -> pid() spawn(Node, Fun) -> pid() s ...
- 磁盘挂载方法 fdisk parted
1创建磁盘分区 [root@web01 ~]# fdisk -cu /dev/sdc -c 关闭dos兼容模式-u 使用扇区进行分区 (默认位柱面)[root@web01 ~]# partprobe ...
- 关于Linux时间设置的总结
系统环境:centos Linux的时间有两种,一种是系统时间,一种是硬件时间. 系统时间的查看:#date 系统时间的设置:#date -set 时间同步工具准备 Linux进行时间同步要使用一个工 ...
- sprindmvc
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模 ...
- ASP.NET Core2.2 多用户验证和授权
asp.net core2.2 用户验证 和授权有很详细和特贴心的介绍,我感兴趣的主要是这两篇: cookie身份验证 基于角色的授权 我的项目有两类用户: 微信公众号用户,用户名为公众号的openi ...
- tcp的粘包现象与解决方案
粘包现象: 粘包1:连续的小包,会被优化机制给合并 粘包2:服务端一次性无法完全就收完客户端发送的数据,第二再次接收的时候,会接收到第一次遗留的内容 模拟一个粘包现象 服务端 import socke ...
- MySQL安装与启动——Windows系统下
以下书写结合菜鸟教程以及本人理解书写. 数据库下载(开源免费) MySQL数据库下载地址https://dev.mysql.com/downloads/mysql/ 可自由选择版本,一般选择Achiv ...
- 前端生成水印之SVG方式
SVG:可缩放矢量图形(英语:Scalable Vector Graphics,SVG)是一种基于可扩展标记语言(XML),用于描述二维矢量图形的图形格式. SVG由W3C制定,是一个开放标准. (f ...
- Arm11-mini6410入坑
Mini6410 学习Stm32的时候原子哥的资料真全啊,而且原子哥在他论坛也解答问题.然而现在学习ARM买了一套友善之臂的开发板,官方的资料只能刚好入门而已,其实入门都算不上.看了一下,网上的资料很 ...
- ios 传递JSON串过去 前面多了个等号
先说下我的问题 后台让我这边把请求的参数弄成一个实体转化成 json 串放body里传给他,当然header也有设置,提前设置好了, 但是后来了解 所谓的把实体转成json串的本质就是先把实体用run ...