架构

Serverless 基本概念入门

坚强是说给别人听的谎言 提交于 2020-02-08 00:15:46
从行业趋势看,Serverless 是云计算必经的一场革命 2019 年,Serverless 被 Gartner 称为最有潜力的云计算技术发展方向,并被赋予是必然性的发展趋势。Serverless 从底层开始变革计算资源的形态,为软件架构设计与应用服务部署带来了新的设计思路。 为此,我们策划了 Serverless 技术专栏 ,从基础概念入门,到前后台架构设计、应用拓展、最佳实践等多维度,揭开 Serverless 的面纱,带你走进无服务器的世界。 什么是 Serverless? Serverless ,按中文翻译,称为「无服务器」。 这究竟是一种什么样的形态或产品呢?无服务器,就是真的没有服务器吗? 其实,在行业内,目前对于 Serverless 有几种解读方法: 在某些场景可以解读为一种软件系统架构方法,通常称为 Serverless 架构 而在另一些情况下,又可以代表一种产品形态,称为 Serverless 产品 在说起 Serverless 架构时,Serverless 代表的是利用 Serverless 形态的产品实现的应用架构,这种架构完全依托于云厂商或云平台提供产品完成系统的组织及构建。在这种架构中,用户无需关注支撑应用服务运行的主机,而将关注点投入在系统架构,业务开发,业务支撑运维上。 而说起 Serverless 产品时,代表的是无需理解、管理服务器,按需使用

微服务、分布式、高并发都不懂,你拿什么去跳槽?

自闭症网瘾萝莉.ら 提交于 2020-02-07 23:45:22
微服务架构 BAT互联网架构这些年的演进分析 国内外常见分布式系统架构状况介绍 微服务架构指南:领域驱动设计DDD模型 SpringCloud1-2实战篇 Config分布式配置中心 Eureka注册与发现机制 Ribbon客户端负载均衡 Hystrix服务熔断组件 Feign声明式服务调用 Zuul网关服务 项目实战:SpringCloud微服务架构 4.1 高并发分布式技术专题 - 分布式开发技术 4.1.1 RPC 4.1.2 分布式系统指挥官Zookeeper 4.1.3 Dubbo框架 4.2 高并发分布式技术专题 - 高并发开发技术 4.2.1 Java多线程并发编程 4.2.2 NIO与实战 4.2.3 高并发-缓存 4.2.4 高并发-消息队列 4.2.5 高并发- 分流 4.3 高并发分布式技术专题 - 实战技巧篇 4.3.1 分布式锁实现方案 基于redis实现 基于zookeeper实现 分布式锁应用场景 4.3.2 分布式事务解决方案 基于X/A协议相关的解决方案 消息队列解决方案 TCC解决方案 本地消息表解决方案 4.3.3 分布式系统校验解决方案 分布式session JWT方式 单点登录框架 4.3.4 互联网高可用架构分析 负载均衡技术分析 通过keepalived实现常用中间件的高可用 4.3.5 分布式订单流水号生成策略分析 基于数据库

IT知识架构与操作系统简介

非 Y 不嫁゛ 提交于 2020-02-07 23:43:25
IT知识架构: 1、云计算---大数据 2、算法 在数据储存中,所用 磁盘是共享 的,而磁盘又分为两类: 1、SAN、NAS、DAS(专门将数据储存与磁盘阵列)。 2、分布式储存架构(适合于大数据方向) HDFS----集群(用来储存数据的软件,应用软件)---(Hadoop定义的分布式文件系统) 系统(也可以比做冰箱) : Linux系统 (海量数据) 算法(也可以比做模具) 1、map-reduces的数据处理集群:总是将数据按照一定的方法修改为键值关系(key-value)。 HDFS+map-reduces=Hadoop集群(运行于Linux上的一个高性能集群) 2、通过数学(统计学)+Python=算法 3、数据可视化统计 云计算---大数据方向 1、运维---Linux操作系统(Windows桌面工程师)分为三点: 1)Linux运维(Web架构)(搭建自己的个人网站) 2)虚拟化KVM/XEN--------openstack--------- docker(k8s)云计算平台 3)Hadoop+JAVA=大数据储存方向 Hadoop生态圈如图: 开发方向(计算机语言) BASIC:早期的机械语言 CC++:系统开发、驱动开发、嵌入式开发(电路板)(驱动程度:需要转换各个厂家设备之间的指令集,让厂家设备之间互通) 前端:JS、php、css、html JAVA语言

Serverless 基本概念入门

[亡魂溺海] 提交于 2020-02-07 18:43:47
从行业趋势看,Serverless 是云计算必经的一场革命 2019 年,Serverless 被 Gartner 称为最有潜力的云计算技术发展方向,并被赋予是必然性的发展趋势。Serverless 从底层开始变革计算资源的形态,为软件架构设计与应用服务部署带来了新的设计思路。 为此,我们策划了 Serverless 技术专栏 ,从基础概念入门,到前后台架构设计、应用拓展、最佳实践等多维度,揭开 Serverless 的面纱,带你走进无服务器的世界。 什么是 Serverless? Serverless ,按中文翻译,称为「无服务器」。 这究竟是一种什么样的形态或产品呢?无服务器,就是真的没有服务器吗? 其实,在行业内,目前对于 Serverless 有几种解读方法: 在某些场景可以解读为一种软件系统架构方法,通常称为 Serverless 架构 而在另一些情况下,又可以代表一种产品形态,称为 Serverless 产品 在说起 Serverless 架构时,Serverless 代表的是利用 Serverless 形态的产品实现的应用架构,这种架构完全依托于云厂商或云平台提供产品完成系统的组织及构建。在这种架构中,用户无需关注支撑应用服务运行的主机,而将关注点投入在系统架构,业务开发,业务支撑运维上。 而说起 Serverless 产品时,代表的是无需理解、管理服务器,按需使用

项目管理平台架构

坚强是说给别人听的谎言 提交于 2020-02-07 08:45:34
公司视图:项目概览 立项 透视问题 设计解决方案 设计核心需求 分析可行性 预测实现风险 规划 阶段目标 起始时间 结束时间 人月估算 完成奖励 实际完成 阶段总结 总结 团队视图:里程碑 版本状态 XXX 版本: V.V.V 目标:功能列表,缺陷列表 周期: MM/DD—MM/DD 指标:功能完成数量、缺陷修复数量、功能模块完成进度;发现缺陷数量和严重性 功能: XXX 系统级需求分析 执行者 前置条件 后置条件 基本路径 扩展路径 字段列表 其他要素 涉众利益、设计约束、非功能需求、 业务规则、遗留问题、界面模型 测试用例 系统级模块设计 序列图、类图、状态图 系统级测试用例 系统级缺陷 模块: XXX 需求分析、模块设计、测试用例、实现代码、缺陷 查看过程 任务状态:分解目标到角色任务、分配任务到各人、执行、审核 执行阶段:方案、需求、设计、实现、联调、集成测试、系统测试 动作事件: ……. 时间 版本 动作 发起者 接收者 描述 个人视图:解决过程 任务列表 任务与关联文档:需求、设计、测试、代码、过程、缺陷 查看过程 动作事件: …….. 来自为知笔记(Wiz) 来源: https://www.cnblogs.com/wangk/p/5731457.html

软件体系架构师工作流程

孤人 提交于 2020-02-07 08:33:56
在我看来软件体系架构师就相当于房子的大致骨架的设计师,房子的稳定性取决于架构是否稳定是否满足需求,所以软件体系架构师首先要做的就是对软件的需求进行认识和分析,因为需求对于整体构架的设计至关重要,所以软件体系架构师要在软件需求分析阶段的适当时宜尽早介入,在一些软件过程能力成熟度较低而软件项目重要性较高的软件项目团队,软件体系架构师可以在概念化阶段介入。在这一阶段软件体系架构师与软件需求人员一起将所有的需求从不同的级别分层数理列表归纳总结建立跟踪矩阵,并划分为不同的类型进行数理列表归纳总结建立影响分析表,找出不同需求类型之间的相互支持、相互制约关系的影响。 第二步是确定对架构关键的需求,软件体系架构师将所有的需求进行筛选,在深思熟虑之后做出合适的需求权衡和取舍,最终确定对软件架构其关键作用的子集,控制架构设计时需要详细分析的用例个数,找到架构的重点非功能需求。要根据需求确定架构目标(即是组成设计过程、确定使用范围并确定什么时候该结束的因素)。并且要了解架构的消费者。要确定架构是否会被其他设计师、开发人员、测试人员、业务人员或管理人员使用。确定架构受众的需求,以让架构更为成功、更有影响力。了解条件限制。了解技术限制、使用限制、和部署限制。从一开始就要了解这些限制,这样你才不会在将来遇到一些意想不到的麻烦。 第三步进行概念性架构设计,首先分析关键用例和有用例规约,运用鲁棒图

软件架构师的工作流程

送分小仙女□ 提交于 2020-02-07 08:33:26
软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。通俗的说,主导系统全局得分析设计和实施、负责软件构架和关键技术决策的人员就是软件架构师。 软件架构师在需求分析阶段介入。在这一阶段软件体系架构师与软件需求人员一起将所有的需求从不同的级别分层数理列表归纳总结建立跟踪矩阵,并划分为不同的类型进行数理列表归纳总结建立影响分析表,找出不同需求类型之间的相互支持、相互制约关系的影响。并同需求分析人员共同建立需求规格说明书。 第二步是确定对架构关键的需求,软件架构师将所有的需求进行筛选,在深思熟虑之后做出合适的需求权衡和取舍,最终确定对软件架构其关键作用的子集,控制架构设计时需要详细分析的用例个数,找到架构的重点非功能需求。要根据需求确定架构目标(即是组成设计过程、确定使用范围并确定什么时候该结束的因素)。并且要了解架构的消费者。要确定架构是否会被其他设计师、开发人员、测试人员、业务人员或管理人员使用。确定架构涉众的需求,以让架构更为成功、更有影响力。了解条件限制。了解技术限制、使用限制、和部署限制。从一开始就要了解这些限制,这样你才不会在将来遇到一些意想不到的麻烦。为后面的工作打下坚实的基础。

架构师的工作流程

本小妞迷上赌 提交于 2020-02-07 08:30:52
  通过课堂上观看梦想改造家这个节目,我想到了软件架构师的工作流程,在梦想改造家中,王仲平这个建筑师首先是了解用户需求,然后根据用户需求制定相应的方案和改造计划,其中考虑到了用户的方便性,安全性,重用性,空间利用性。对于我们软件架构师来说,同样如此,非常相似。     软件架构师在需求分析阶段介入。在这一阶段软件体系架构师与软件需求人员一起将所有的需求从不同的级别分层数理列表归纳总结建立跟踪矩阵,并划分为不同的类型进行数理列表归纳总结建立影响分析表,找出不同需求类型之间的相互支持、相互制约关系的影响。并同需求分析人员共同建立需求规格说明书。 第二步是确定对架构关键的需求,软件架构师将所有的需求进行筛选,在深思熟虑之后做出合适的需求权衡和取舍,最终确定对软件架构其关键作用的子集,控制架构设计时需要详细分析的用例个数,找到架构的重点非功能需求。要根据需求确定架构目标(即是组成设计过程、确定使用范围并确定什么时候该结束的因素)。并且要了解架构的消费者。要确定架构是否会被其他设计师、开发人员、测试人员、业务人员或管理人员使用。确定架构涉众的需求,以让架构更为成功、更有影响力。了解条件限制。了解技术限制、使用限制、和部署限制。从一开始就要了解这些限制,这样你才不会在将来遇到一些意想不到的麻烦。为后面的工作打下坚实的基础。 第三步进行概念性架构设计,首先分析关键用例和有用例规约,运用鲁棒图

软件架构实践(Software Architecture in Practics)学习笔记

江枫思渺然 提交于 2020-02-07 08:24:48
1 多个开源产品可以拿来分析其架构,如eclipse,万维网, 2 需求并不能决定架构,架构是一种高层设计,最重要的是,架构的设计受到很多方面的影响,这些带来影响的因素(技术,商业,社会,涉众的需求,开发组织的结构或者本质—例如开发组织的商业目标和技术特点等,设计师的经验水平,等)也是我们进行架构设计时需要考虑的,同时也可以帮助我们很好的分析一个(商业产品的)架构。 要注意到,完成一个架构的设计会带给前面所提到的因素一定的反馈,得到一定的收获。 3 架构商业周期Architecture Business Cycle:软件架构是技术,商业和社会等诸多因素作用的结果,而软件架构的存在又反过来会影响技术,商业和社会环境,从而影响到未来的架构,这种互相影响的周期—从环境到架构又返回到环境—就叫做架构商业周期 4 架构活动: 1)为系统构建一个商业案例(商业目标) 2)理解系统需求(最重要的是涉众的需求,可以使用面向对象的方法-即用例分析来获取,也可以通过捕获质量属性需求,再者,参考相似系统也可以获得需求) 3)创建或选择架构 4)将架构编成文档,并与有关各方进行交流(编档要面向不同的涉众给予不同文档,便于交流) 5)对此架构进行分析和评价(ATAM或CBAM,注意一点是评估过程不能脱离实际环境) 6)根据此架构实现系统 7)保证系统实现符合架构的要求 5

软件架构师

梦想与她 提交于 2020-02-07 08:24:13
软件架构设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。本文从架构师职责、软件架构定义、设计架构、评估架构、架构管理等方面来描述了解软件架构的含义和怎样设计软件架构。 软件架构师的职责 架构师分为以下几大类:业务架构师、主题领域架构师、技术架构师、项目架构师(J2EE架构师、.NET架构师等)、系统架构师。 1、 架构师 的职责主要体现 架构师的职责就是设计一个公司系统的基础架构,并提供关于怎样建立和维护系统的指导方针。具体来讲,架构师的职责主要体现在以下几方面: 1)、负责公司系统的架构设计、研发工作。 2)、承担从业务向技术转换的桥梁作用。 3)、协助项目经理制定项目计划和控制项目进度。 4)、负责辅助并指导系统分析开展设计工作。 5)、负责组织技术研究和攻关工作。 6)、负责组织和管理公司内部的技术培训工作。 7)、负责组织及带领公司内部员工研究与项目相关的新技术。 8)、管理技术支撑团队并给项目、产品开发实施团队提供技术保障。 9)、理解系统的业务需求,制定系统的整体框架(包括、技术框架和业务框架)。 10)、对系统框架相关技术和业务进行培训,指导开发人员开发。并解决系统开发、运行中出现的各种问题。 2、 构架设计师 必须具备的技能 经验:既包括在问题领域的经验(通过彻底了解需求)