架构

微服务实战(六):选择微服务部署策略

纵然是瞬间 提交于 2019-12-07 19:36:50
本系列七篇文章列表如下: 微服务实战(一):微服务架构的优势与不足 微服务实战(二):使用API Gateway 微服务实战(三):深入微服务架构的进程间通信 微服务实战(四):服务发现的可行方案以及实践案例 微服务实践(五):微服务的事件驱动数据管理 微服务实践(六):选择微服务部署策略 微服务实践(七):从单体式架构迁移到微服务架构 【编者的话】这篇博客是用微服务建应用的第六篇, 第一篇 介绍了微服务架构模板,并且讨论了使用微服务的优缺点。随后的文章讨论了微服务不同方面:使用API网关,进程间通讯,服务发现和事件驱动数据管理。这篇文章,我们将讨论部署微服务的策略。 部署一个单体式应用意味运行大型应用的多个副本,典型的提供若干个(N)服务器(物理或者虚拟),运行若干个(M)个应用实例。部署单体式应用不会很直接,但是肯定比部署微服务应用简单些。 一个微服务应用由上百个服务构成,服务可以采用不同语言和框架分别写就。每个服务都是一个单一应用,可以有自己的部署、资源、扩展和监控需求。例如,可以根据服务需求运行若干个服务实例,除此之外,每个实例必须有自己的CPU,内存和I/O资源。尽管很复杂,但是更挑战的是服务部署必须快速、可靠和性价比高。 有一些微服务部署的模式,先讨论一下每个主机多服务实例的模式。 单主机多服务实例模式 部署微服务的一种方法就是单主机多服务实例模式,使用这种模式

[译]API网关(API Gateway)

一世执手 提交于 2019-12-07 12:10:50
This a translation of an article ( http://microservices.io/patterns/apigateway.html ) originally written and copyrighted by Chris Richardson ( http://twitter.com/crichardson ). 模式:API网关 背景 我们假设你使用 微服务模式 创建一个在线商店,并正在实现商品详情页面。你需要开发多个版本的商品详情用户界面: 用于桌面和手机浏览器的基于HTML5/JavaScript的UI - HTML通过服务端web应用生成 本地Android和iPhone客户端 - 这些客户端通过REST API与服务器交互 另外,在线商店应该通过REST API 为第三方 公开 商品 详情。 商品 详情可以展示 商品 的许多信息。比如,Amazon.com上 POJOs in Action 详情页显示: 图书的基本信息,如标题,作者,价格等 图书的购买历史 是否有货 购买参数 与这本书同时被购买的商品 购买了这本书的用户还买了什么 用户评论 销售者的评分 ... 既然在线商店使用了微服务模式, 商品 详情数据通过服务来展开。如: 商品信息服务(Product Info Service) - 商品基本信息如标题,作者 价格服务

REST API(RESTful)基于微服务SpringCloud项目的编程

て烟熏妆下的殇ゞ 提交于 2019-12-07 06:39:36
RESTful 架构风格概述 在当前互联网环境下,随着docker等技术的兴起,『微服务』的概念也越来越被大家接受并应用于实践,日益增多的web service逐渐统一于RESTful 架构风格,如果开发者对RESTful 架构风格不甚了解,则开发出的所谓RESTful API总会貌合神离,不够规范。 本文是我对RESTful 架构风格的一些理解,和大家分享一下,不喜勿喷,欢迎讨论。 1.RESTful架构风格 RESTful架构风格最初由Roy T. Fielding(HTTP/1.1协议专家组负责人)在其2000年的博士学位论文中提出。HTTP就是该架构风格的一个典型应用。从其诞生之日开始,它就因其可扩展性和简单性受到越来越多的架构师和开发者们的青睐。一方面,随着云计算和移动计算的兴起,许多企业愿意在互联网上共享自己的数据、功能;另一方面,在企业中,RESTful API(也称RESTful Web服务)也逐渐超越SOAP成为实现SOA的重要手段之一。时至今日,RESTful架构风格已成为企业级服务的标配。 REST即Representational State Transfer的缩写,可译为"表现层状态转化”。REST最大的几个特点为:资源、统一接口、URI和无状态。 1.1 资源 所谓"资源",它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在

理解RESTful架构

半城伤御伤魂 提交于 2019-12-07 06:35:30
作者: 阮一峰 日期: 2011年9月12日 越来越多的人开始意识到, 网站即软件 ,而且是一种新型的软件。 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。 网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合, 现在我们必须考虑,如何开发在互联网环境中使用的软件。 RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。 但是,到底什么是RESTful架构,并不是一个容易说清楚的问题。下面,我就谈谈我理解的RESTful架构。 一、起源 REST这个词,是 Roy Thomas Fielding 在他2000年的 博士论文 中提出的。 Fielding是一个非常重要的人,他是HTTP协议(1.0版和1.1版)的主要设计者、Apache服务器软件的作者之一、Apache基金会的第一任主席。所以,他的这篇论文一经发表,就引起了关注,并且立即对互联网开发产生了深远的影响。 他这样介绍论文的写作目的: "本文研究计算机科学两大前沿----软件和网络----的交叉点。长期以来,软件研究主要关注软件设计的分类

《微服务架构基础 Spring Boot+Spring Cloud + Docker》学习笔记

走远了吗. 提交于 2019-12-07 01:33:25
之前写了一篇博文,介绍得太片面,后面觉得文章写得太水了,就重新把书看了一遍,将书上前5章的代码一一实现。这篇文章主要介绍微服务架构,后面会在写一篇介绍docker。 全书将搭建了一个使用Spring Cloud一系列的架构,没有深层次的业务,只有两个简单的方法。涉及到每个技术点都有讲解,读完会对微服务会大致有印象。对Spring Cloud深入了解需要到官网查看文档: https://cloud.spring.io/spring-cloud-static/Greenwich.RELEASE/single/spring-cloud.html 。总的来说是一本不涉及较深知识点的工具书,读完后自己实现一个或把源码拿来看还是有所收获的。 项目架构图如: 前言 全书共分为四部分:第一部分“微服务概述”,主要讲解微服务的由来、概念、特点和微服务架构等;第二部分“微服务的开发”,主要讲解微服务开发框架Spring Boot的使用;第三部分“微服务架构的构建”,主要讲解如何使用Spring Cloud的相关组件来构建微服务架构;第四部分“微服务的部署”,主要讲解Docker技术,以及如何在Docker中部署微服务项目。 主要技术点:Spring Cloud Eureka实现服务发现;Spring Cloud Ribbon实现客户端负载均衡;Spring Cloud Hystrix

把阿里巴巴的核心系统搬到云上,架构上的挑战与演进是什么?

时间秒杀一切 提交于 2019-12-06 20:54:55
作者丨张瓅玶(谷朴)阿里巴巴研究员 阿里巴巴核心系统作为全球最大规模、峰值性能要求最高的电商交易系统,在 2018 年之前只通过混合云弹性上云方式,为 双11 节约大量成本。直到 2019 年,阿里巴巴实现了核心交易系统全面上云并经历了 双11 峰值的考验。 在今天由极客邦科技举办的 ArchSummit 全球架构师峰会 2019 北京站上,阿里巴巴研究员张瓅玶博士作了主题演讲《阿里巴巴核心系统上云:挑战和架构演进的思考》,以下内容为演讲整理。 核心系统上云之路 工程师时常把我们的系统用飞机来做比喻,乘客则是上面承载的业务。云也是一架这样的载客飞机,作为基础平台承载着千万家企业的业务。今年阿里巴巴实现了核心系统 100% 上云,这个过程实际上走了几年才达到今天的进展,而且这还不是结束,也只是阿里巴巴上云的一个开始。 阿里巴巴集团自身业务体量巨大,支撑其的互联网技术体系任务也非常繁重,再加上核心电商业务系统的复杂度,对技术带来的挑战可想而知。 用王坚博士的话说,核心系统上云让阿里巴巴和客户真正坐上了同一架飞机。从 in-house 的基础设施、定制化的平台能力,到通用的云平台,从 cloud hosting 到 cloud native,这个过程面临着巨大的挑战,同时也是阿里巴巴自身和阿里云的架构演进升级的历程。 阿里巴巴的核心交易系统涉及到包括天猫、淘宝、河马、菜鸟、聚划算、咸鱼

把阿里巴巴的核心系统搬到云上,架构上的挑战与演进是什么?

陌路散爱 提交于 2019-12-06 20:54:48
作者丨张瓅玶(谷朴)阿里巴巴研究员 阿里巴巴核心系统作为全球最大规模、峰值性能要求最高的电商交易系统,在 2018 年之前只通过混合云弹性上云方式,为 双11 节约大量成本。直到 2019 年,阿里巴巴实现了核心交易系统全面上云并经历了 双11 峰值的考验。 在今天由极客邦科技举办的 ArchSummit 全球架构师峰会 2019 北京站上,阿里巴巴研究员张瓅玶博士作了主题演讲《阿里巴巴核心系统上云:挑战和架构演进的思考》,以下内容为演讲整理。 核心系统上云之路 工程师时常把我们的系统用飞机来做比喻,乘客则是上面承载的业务。云也是一架这样的载客飞机,作为基础平台承载着千万家企业的业务。今年阿里巴巴实现了核心系统 100% 上云,这个过程实际上走了几年才达到今天的进展,而且这还不是结束,也只是阿里巴巴上云的一个开始。 阿里巴巴集团自身业务体量巨大,支撑其的互联网技术体系任务也非常繁重,再加上核心电商业务系统的复杂度,对技术带来的挑战可想而知。 用王坚博士的话说,核心系统上云让阿里巴巴和客户真正坐上了同一架飞机。从 in-house 的基础设施、定制化的平台能力,到通用的云平台,从 cloud hosting 到 cloud native,这个过程面临着巨大的挑战,同时也是阿里巴巴自身和阿里云的架构演进升级的历程。 阿里巴巴的核心交易系统涉及到包括天猫、淘宝、河马、菜鸟、聚划算、咸鱼

数据安全从”怎么看“到“怎么办”

五迷三道 提交于 2019-12-06 20:46:29
一、数据安全“怎么看” 业界对于数据安全有着各种各样的理解。 有人认为数据安全就是数据层的安全,也就是通常所说的数据库安全,主要措施就是保护好数据库,比如使用非root账号、最小化配置数据库权限、设置复杂口令。 是不是这样就可以了呢? 其实不然,黑客仍有可能通过应用层的漏洞(典型场景如SQL注入漏洞),并利用合法的权限获取到数据。 也有人认为数据安全就是DLP(内部数据泄露防护),通过员工行为规范、上网行为管理、文档加密、沙箱、监控等各种手段,防止内部数据泄露。工作重心主要放在员工办公电脑上。 诚然,终端数据安全也是数据安全体系的一部分,只是这样的话,服务器侧(或云端)的数据安全可能就被忽略了。 后来,“以数据为中心的全生命周期的数据安全”理念被广泛接受,加密传输、加密存储、脱敏展示、差分隐私等各种技术手段加以运用。 俗话说“横看成岭侧成峰,远近高低各不同”,当我们站在不同的地方拍照时,拍出来的风景就大不相同。 每个人的经验、工作范围、视角各有不同,因此大家眼中的数据安全也就有了不同的涵义。如果视角受限,则可能会出现狭义化的问题,也就是只覆盖数据安全的一部分。 在《数据安全架构设计与实战》一书中,使用了一种全新的视角:“数据安全治理”,自上而下,从战略、组织、政策三个方面展开,能够让读者快速总览数据安全全貌。 从目标上看,数据安全是业务团队和安全团队都能理解且能够达成一致意见的目标

把阿里巴巴的核心系统搬到云上,架构上的挑战与演进是什么?

主宰稳场 提交于 2019-12-06 19:14:26
作者丨张瓅玶(谷朴)阿里巴巴研究员 阿里巴巴核心系统作为全球最大规模、峰值性能要求最高的电商交易系统,在 2018 年之前只通过混合云弹性上云方式,为 双11 节约大量成本。直到 2019 年,阿里巴巴实现了核心交易系统全面上云并经历了 双11 峰值的考验。 在今天由极客邦科技举办的 ArchSummit 全球架构师峰会 2019 北京站上,阿里巴巴研究员张瓅玶博士作了主题演讲《阿里巴巴核心系统上云:挑战和架构演进的思考》,以下内容为演讲整理。 核心系统上云之路 工程师时常把我们的系统用飞机来做比喻,乘客则是上面承载的业务。云也是一架这样的载客飞机,作为基础平台承载着千万家企业的业务。今年阿里巴巴实现了核心系统 100% 上云,这个过程实际上走了几年才达到今天的进展,而且这还不是结束,也只是阿里巴巴上云的一个开始。 阿里巴巴集团自身业务体量巨大,支撑其的互联网技术体系任务也非常繁重,再加上核心电商业务系统的复杂度,对技术带来的挑战可想而知。 用王坚博士的话说,核心系统上云让阿里巴巴和客户真正坐上了同一架飞机。从 in-house 的基础设施、定制化的平台能力,到通用的云平台,从 cloud hosting 到 cloud native,这个过程面临着巨大的挑战,同时也是阿里巴巴自身和阿里云的架构演进升级的历程。 阿里巴巴的核心交易系统涉及到包括天猫、淘宝、河马、菜鸟、聚划算、咸鱼