架构

ASP.NET Core微服务架构之Consul基础入门到实战

那年仲夏 提交于 2020-04-06 10:51:37
一、课程介绍 微服务(Microservices Architecture)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。 随着.NET Core的关注度持续上升, 微服务及云原生应用开发上采用.NET Core也越来越多, 以 .NETCore 为例子,目前比较火热的就是 Ocelot+Consul+IdentityServer4的搭配,通过在服务中嵌入 Ocelot和 Consul 的客户端,自动的完成服务注册到(Consul)和服务发现(Ocelot读取Consul中的服务);当用户访问某个 url 的时候,Ocelot 将会根据路由将用户请求转发到从 Consul 拉取到的真正的服务中;由于 Consul 的高可用性、丰富的API、友好的 Web 控制台界面等特点,Consul 的发展非常迅猛,得益于 .NET Core 社区的快速发展和社区成员的贡献,我们现在可以非常方便快速的将 Consul 集成到 .NET Core 中。 所以在Consul服务注册和发现在微服务框架中是一个比较重要的组件,那么今天我们就先熟悉一下Consul这个服务注册和发现组件吧。 1.1、本次分享课程适合人群如下 1)、有一定的

入门 Serverless:Serverless Framework 开发者工具

大兔子大兔子 提交于 2020-04-06 05:47:57
Serverless 架构是云发展的产物,是一种去服务器化更加明显的架构。然而,细心的朋友可能会发现,有一个开发者工具也叫 Serverless,那么 Serverless 到底是一个架构,还是一个开发者工具呢?这个开发者工具和 Serverless 架构又有什么关系呢? 初探 Serverless 开发者工具 Serverless 架构开始发展没多久,就有一群人注册了 serverless.com 的域名,成立了一家叫 Serverless 的公司,同时还开发了一款同名工具。 Serverless 架构和 Serverless 开发者工具是两个不同的东西,如果类比一下的话,就相当于中国电信,一方面指的是中国电信行业,另一方面也指的是中国电信运营商。 从 Serverless 的公司名称,我们也可以推断出其推出的产品与 Serverless 架构紧密相关。在各个云厂商都有自己函数计算业务的时候,Serverless 团队做了一个类似多云管理平台的工具,可以认为是多 Serverless 管理的工具。利用这个工具,可以快速直接使用 AWS 的 Lambda、Azure 的 Funtions 以及腾讯云 SCF 等众多云厂商的函数计算相关服务,大体支持的功能如下: 通过这个上表,大家也可以感觉到这其实是个开发者工具,帮助用户快速使用多个云厂商的函数服务,打包、部署、回滚…当然

区块链应用开发技术架构模式介绍

血红的双手。 提交于 2020-04-06 05:17:13
区块链应用开发技术架构模式介绍 区块链应用场景多样,从数字货币金融到去中心化互联网。大多数用例都可以归纳为几种模式。源中瑞ruiecjo给大家讲解基于区块链的去中心化应用的常见的4种架构模式。 1、IAM的架构模式 背景信息: IAM环境包括许多用户和服务提供商。IAM系统为每个用户提供一个帐户和一组功能,使用户可以前往服务提供商,展示其帐户所有权,然后根据其功能接收服务。 力量:需要实现一个分散的IAM环境,在该环境中,一个恶意用户或几个用户不会对系统造成重大影响。 解决方案:建议的模式候选者以以下方式使用万维网联合会(W3C)DID规范和W3C可验证声明规范。 我们可以在这一架构模式上处理大多数的IAM用例。例如,我们可以通过可验证声明来控制访问权限,确保只有具备某些特征的用户可以访问区块链系统。 需要区块链应用开发技术可找ruiecjo了解,我们将为您讲解区块链技术发展历史,以及未来区块链技术又如何发展下去。 2、可审计历史的架构模式 背景信息:两个或多个参与方进行交易或一起工作,其活动需要以无可争议的方式记录下来。 强制措施:需要实现一个分散的审核日志或一个工作区,在该工作区中,一个恶意用户或几个用户不会对系统产生重大影响。 解决方案:提议的系统记录活动并在区块链中为这些记录创建条目。该条目包含活动记录的哈希,因此,以后不能对记录进行争议。 如果存在大量的活动

“微信支付”的架构到底有多牛逼?看完这篇你就明白了!

徘徊边缘 提交于 2020-04-06 03:05:23
点点这个链接免费获取: 【推荐】2020年最新Java电子书集合.pdf(吐血整理) >>> 背景 作为一个重要业务,微信支付在客户端上面临着各种问题。其中最核心问题就是分平台实现导致的问题: iOS 和安卓实现不一致 容易出 Bug 通过沟通保证不了质量 扩展性差,无法快速响应业务需求 需求变更迭代周期长 数据上报不全面 质量保障体系不完善 缺少业务及设计知识沉淀 协议管理松散 缺少统一的自动化测试 用户体验不一致比如下图就是之前安卓和 iOS 没有统一前的收银台。 为了解决分平台实现这个核心问题,并解决以往的技术债务。我们建立起了一整套基于 C++ 的跨平台框架,并对核心支付流程进行了重构。 微信支付跨平台从 iOS 7.0.4 版本起, 安卓从 7.0.7 版本起全面覆盖。 线上效果指标 以 iOS 上线情况为例: Crash 率上线前后 Crash 率保持平稳,没有影响微信稳定性,跨平台支付无必现 Crash,做到了用户无感知切换。举个例子,大家可以用微信发一笔红包,拉起的收银台和支付流程就是由基于C++编写的跨平台代码所驱动的。 效能提升以核心支付流程代码为例,跨平台需要 3512 行,iOS 原生需要 6328 行。减少了近 45% 的代码。以新需求开发为例:7.0.4 版本需求一:收银台改版7.0.4 版本需求二:简化版本收银台 跨平台实现:iOS + 安卓 共计 3

Hadoop介绍

本小妞迷上赌 提交于 2020-04-05 21:03:24
Hadoop 是什么 Hadoop是一个开源软件框架,用于在商用硬件集群上存储数据和运行应用程序。它为任何类型的数据提供海量存储,巨大的处理能力以及处理几乎无限的并发任务或作业的能力。 Hadoop是一个由 Apache 基金会所开发的分布式系统基础架构 主要解决海量数据的存储和海量数据的分析计算问题 广义上来说 Hadoop 通常是指一个更广泛的概念—— Hadoop 生态圈 Hadoop 发展历史 Lucene框架是Doug Cutting开创的开源软件,用Java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎。 Hadoop 创始人 发展历程 2001年年底Lucene成为Apache基金会的一个子项目 对于海量数据的场景,Lucene面对与Google同样的困难,存储数据困难,检索速度慢。 学习和模仿Google解决这些问题的办法 :微型版Nutch。 可以说Google是Hadoop的思想之源(Google在大数据方面的三篇论文) 2003-2004年,Google公开了部分GFS和MapReduce思想的细节,以此为基础Doug Cutting等人用了2年业余时间实现了DFS和MapReduce机制,使Nutch性能飙升。 2005 年Hadoop 作为 Lucene的子项目

(28)ElasticSearch分布式架构特点

与世无争的帅哥 提交于 2020-04-05 18:42:41
  1、分布式架构的透明隐藏特性   ElasticSearch是一个分布式架构系统,隐藏了复杂的处理机制。   分片机制:我们不用关系数据是按照什么机制分片的,最后放入到哪个分片中。   集群发现机制(cluster discovery):比如当前我们启动了一个es进程,当启动了第二个es进程时,这个进程作为一个node自动就发现了集群,并且加入了进去。   shard负载均衡:比如现在有10个shard,集群中有3个节点,es会均衡的进行分配,已保持每个节点均衡的负载请求。   2、扩容机制   垂直扩容:购置新的机器,替换已有的机器。   水平扩容:直接增加机器。   3、rebalance   增加或减少节点时会自动均衡   4、master节点   主节点的主要职责是和集群操作相关的内容,如创建或删除索引,跟踪哪些节点时集群的一部分,并决定哪些分片分配给相关的节点。稳定的主节点对集群的健康是非常重要的。   5、节点对等   每个节点都能接收请求,每个节点接收到请求后都能把该请求路由到有相关数据的其他节点上,接收原始请求的节点负责采集数据,并返回给客户端。 来源: https://www.cnblogs.com/javasl/p/12638337.html

微服务架构设计模式

孤街醉人 提交于 2020-04-05 18:36:59
目录 什么是微服务模式 单体结构的历程 单体地狱的银弹-微服务架构 扩展立方体和服务 微服务架构的好处和弊端 优点 大型的复杂应用程序可以持续交付和持续部署 每个服务都相对较小并容易维护 更好的容错性 更容易实验和采纳新的技术 弊端 服务的拆分和定义是一项挑战 分布式系统带来的各种复杂性 开发者需要思考到底应该在应用的什么阶段使用微服务架构 服务的拆分策略 识别系统操作 创建抽象领域模型 定义系统操作 根据业务能力进行服务拆分 从业务能力到服务 根据子域进行服务拆分 上帝类的处理 什么是微服务模式 随着网络基础设施的高速发展,以及越来越多的个体接入互联网,在考虑构建支持海量请求以及多变业务的软件平台时,微服务架构成为多数人的首选。微服务架构的出现时服务事物发展规律的:当问题足够大,有足够多的的不确定因素时,人们习惯于把大的问题拆分成小的问题。通过分割,抽象和重用小而可靠的功能模块来构建整体方案。但是当这些小的,可重用的部分多来越多的时候,又会出现新的问题。再相似的阶段,人们遇到的问题也是相似的,这个时候人们需要一些共识,需要用一些通用的词汇来描述问题以及解决方案,这也是人们知识的总结,微服务模式就是这样的总结和概括,是一种可以通用的共识,用于描述微服务领域的中的问题及解决方案。 单体结构的历程 在企业发展的初期,应用程序相对较小,所有的代码运行在一个应用程序中有以下好处

[转帖]Openstack 管理 VMware ESX/ESXi

只谈情不闲聊 提交于 2020-04-04 07:31:14
转载 Openstack 管理 VMware ESX/ESXi https://blog.51cto.com/leeli/1716939 dragonlijian 0 人评论 2810人阅读 2015-11-26 08:32:16 关于OpenStack的研究,大家基本都是集中于KVM,XEN这类开源虚拟化技术,对VMware的研究比较少。我们公司(网新恒天)由于之前采用的虚拟化技术是VMware的,所以在OpenStack研究开始之初就以VMware为虚拟化平台,希望能用OpenStack将VMware管理起来,经过4个月左右的研究开发,已经实现这个目标。现在我们决定将自己的研究成果分享出来,希望能和大家一起交流。 本文主要讨论OpenStack管理 VMware ESX/ESXi 时的部署架构。 因为VMware vSphere ESX/ESXi 的特殊性,导致Openstack管理ESX/ESXi时的部署架构会与KVM、XEN等不一样,所以刚开始安装的时候会有这样的疑问:nova-compute 装哪里,怎么装呢? 下面就来说明下这个问题。 因为VMware ESX/ESXi 是非常封闭的,ssh上去之后,会发现之个系统连一些常用的命令都没有,更不用说python、gcc了,是一个非常精简的系统,所以在ESX/ESXi上直接安装nova-compute基本是不可能的

超低功耗ST-MRAM内存架构

喜你入骨 提交于 2020-04-03 19:39:43
ST-MRAM 有潜力成为领先的存储技术,因为它是一种存储器(可以挑战DRAM和SRAM),可扩展至10nm以下,并挑战了闪存的低成本。STT代表旋转传递扭矩。在ST-MRAM器件中,电子的自旋使用自旋极化电流翻转。 目前有研发人员开发了一种新的超低功耗ST-MRAM架构,称为Super Lattice ST-MRAM或SL-ST-MRAM。研究人员说,SL-ST-MARM同时实现了超高MR比,高速开关和低RA。 SL STT MRAM结构 SL-ST-MRAM基于SL-ST-MTJ,它使用超晶格势垒代替了传统STT-MTJ中的单晶(MgO)势垒。超晶格屏障由交替的金属层和绝缘层组成,其中在绝缘层中仅使用非晶而不是单晶。与传统的基于MgO的ST-MRAM相比,SL-ST-MRAM具有更高的重复写入可靠性。 研发人员进一步说,SL-ST-MRAM的生产与传统的ST-MRAM工艺兼容,并且根据他们的发现,SL-ST-MTJ可以降低90%以上的开关功率和RA值,而MR比和开关速度可以增加十倍以上.研究人员现在正与业界接触,寻找可以进一步开发SL-ST-MRAM技术并使其商业化的合作伙伴。 来源: 51CTO 作者: 宇芯电子 链接: https://blog.51cto.com/14767425/2482477