微服务
文章平均质量分 84
边城白衣
一介白衣,几行代码
展开
-
你真的需要微服务吗?
感兴趣的朋友可以关注"猿学堂社区",系统化技术内容分享平台。或加入“猿学堂社区”微信交流群1、前述自互联网尤其是云平台爆发以来,软硬件基础设施的服务模式不断更新,从早期的IaaS、PaaS、SaaS三大件,到后来的FaaS、BaaS、DaaS,一切以aaS格式表述的新词从各个服务公司的口中提出来,成为技术服务模式的前沿和潮流。所有平台式技术服务的输出,都会以不同形式降低原有的软件开发及运维...原创 2019-11-24 20:00:13 · 1329 阅读 · 1 评论 -
在Java中构建响应式微服务系统——第三章 构建响应式微服务
第三章 构建响应式微服务在本章中,我们将使用Vert.x构建我们的第一个微服务。由于大多数微服务系统使用HTTP进行交互,因此我们将以HTTP微服务作为开始。但是由于系统包含多个相互通讯的微服务,因此我们会构建另一个微服务消费第一个(作为第一个的消费者)。然后,我们将说明为什么这样一个设计不是完全的拥抱响应式微服务。最后,我们将实现基于消息的微服务,以领会消息如何提升响应性。第一个微服...翻译 2018-09-08 17:00:47 · 1125 阅读 · 2 评论 -
Vert.x Java开发指南——第十一章 使用基于事件总线的跨越边界消息的实时Web特征
第十一章 使用基于事件总线的跨越边界消息的实时Web特征 相应代码位于本指南仓库的step-10目录下在本指南的前面部分,我们看到事件总线用于Verticle中的通讯,使用Vert.x应用内部的消息传递。开发者只需要注册一个消费者接收消息并且发送/发布消息。SockJS事件总线桥接将这些能力扩展到客户端浏览器中。它创建了一个分布式的事件总线,不仅跨越集群中的多个Vert.x实例,...翻译 2018-06-17 10:28:58 · 789 阅读 · 0 评论 -
在Java中构建响应式微服务系统——第二章 理解响应式微服务和Vert.x
第二章 理解响应式微服务和Vert.x微服务实际上不是一个新事物。它们起源于20世纪70年代的研究,由于微服务是一种更快迁移、更容易交付价值以及提升敏捷的方法,最近已经成为人们关注的焦点。然而,微服务源于基于Actor的系统、服务设计、动态和自治系统、领域驱动设计以及分布式系统。微服务的细粒度模块化设计不可避免的会导致开发人员创建分布式系统。我敢肯定,你已经注意到,分布式系统是很难的。它们故障...翻译 2018-06-24 18:45:37 · 2324 阅读 · 0 评论 -
Vert.x Java开发指南——第十章 使用AngularJS的客户端Web应用
第十章 使用AngularJS的客户端Web应用 相应代码位于本指南仓库的step-9目录下截止目前,我们的Web界面使用了传统的服务端渲染HTML内容。某些应用类型可以利用客户端渲染,避免全页面重新加载并且接近本地应用体验,以提升用户体验。许多受欢迎的框架便是因为这个目的而存在。我们为本指南选择了流行的AngularJS框架,但是可以不失一般性的同等选择React、Vue.js...翻译 2018-06-16 10:17:29 · 636 阅读 · 0 评论 -
在Java中构建响应式微服务系统——第一章 介绍
第一章 介绍这份报告针对对开发微服务和分布式应用感兴趣的开发者和架构师。它不会讲解分布式系统的基础,而是关注于响应式,它有利于构建高效的微服务系统。微服务可以被看作是基本的模块化思想的延伸:程序通过消息传递而不是直接的API调用连接,以便它们可以在多个服务之间分布式。为什么微服务如此受欢迎?这主要是由于两个因素的结合:云计算以及快速扩容和缩容的需求。云计算使得部署成千上万的小型服务变得方便;伸...翻译 2018-06-23 18:00:58 · 872 阅读 · 0 评论 -
Vert.x Java开发指南——第十二章 结束
第十二章 结束这是本指南的最后一部分,让我们花点时间来概括一下前面几章中的重要收获,然后再给出更多有用的资源。12.1 概述我们通过使用Vert.x构建一个Wiki web应用作为开始。首次迭代是典型的“快速但令人不快的快速原型”,它展示了我们使用Web模板的服务端渲染以及使用关系数据库持久化,可以快速且轻易构建应用程序。 下一步,展示了如何通过连续的重构提升设计:首先分离每个技...翻译 2018-06-23 10:34:13 · 764 阅读 · 1 评论 -
Vert.x Java开发指南——第九章 利用RxJava进行响应式编程
第九章 利用RxJava进行响应式编程 相应代码位于本指南仓库的step-8目录下截止目前,我们已经探索了Vert.x技术栈的多个部分,使用基于回调的API。它仅仅可以正常工作,而且这个编程模型对于开发者在许多语言中是非常熟悉的。尽管如此,它可能有点繁琐,尤其当你组合几个事件源或者处理复杂的数据流时。而这正是RxJava闪耀的地方,Vert.x无缝的集成了它。9.1 启用...翻译 2018-06-13 10:31:54 · 3253 阅读 · 0 评论 -
Vert.x Java开发指南——第八章 安全和访问控制
第八章 安全和访问控制 相应代码位于本指南仓库的step-7目录下使用Vert.x,安全和访问控制非常容易实现。在本章中,我们将介绍:迁移HTTP到HTTPS添加用户认证以及基于分组的权限到Web应用中使用JWT对Web API进行访问控制8.1 在Vert.x中支持HTTPSVert.x为SSL加密网络链接提供了支持。在生产环境中暴露HTTP服务器比较常见的方式...翻译 2018-06-12 12:25:08 · 2903 阅读 · 1 评论 -
Vert.x Java开发指南——第七章 公开Web API
第七章 公开Web API使用我们已经讲到的vertx-web模块公开Web HTTP/JSON API非常简单。我们将使用以下URL方案公开Web API:GET /api/pages 给出一个包含所有wiki页面名称和标识的文档POST /api/pages 从一个文档创建新的wiki页PUT /api/pages/:id 从一个文档更新wiki页面DELETE /api/pa...翻译 2018-06-03 19:36:42 · 1540 阅读 · 0 评论 -
Vert.x Java开发指南——第六章 与第三方的Web服务集成
第六章 与第三方的Web服务集成 相应代码位于本指南仓库的step-5目录下。现代应用很少位于孤岛之上,因为它们需要与其它(分布式)应用和服务集成。集成通常采用API实现,这些API通过多功能的HTTP协议公开。本章展示了如何使用Vert.x的HTTP客户端API与第三方Web服务集成。6.1 场景:备份到GitHub GistGitHub Gist服务(https:...翻译 2018-06-03 18:33:41 · 1383 阅读 · 0 评论 -
Vert.x Java开发指南——第五章 测试Vert.x代码
第五章 测试Vert.x代码 相应代码位于本指南仓库的step-4目录。到目前为止,我们已经开发了未包含测试的Wiki实现。这自然不是一种好的实践,因此让我们看一下如何为Vert.x代码编写测试。5.1 开始vertx-unit模块提供了工具来测试Vert.x中的异步操作。除此之外,你还可以使用你选择的测试框架,如JUnit。使用JUnit,需要的Maven依赖如下:...翻译 2018-05-27 17:21:08 · 2236 阅读 · 0 评论 -
Vert.x Java开发指南——第四章 重构为Vert.x服务
第四章 重构为Vert.x服务与我们最早的实现相比,前面的重构已经是向前一大步,因为我们提取出了独立且可配置的Verticle,并且在事件总线之上使用异步消息进行链接。我们还看到,我们可以同时部署一个指定Verticle的几个实例,以便更好地处理负载以及更好地利用CPU内核。在这一节,我们将看到如何设计和使用Vert.x服务。服务的主要优势是,它定义了一个接口用于执行Verticle公开的...翻译 2018-05-27 16:16:30 · 3241 阅读 · 0 评论 -
Vert.x Java开发指南——第三章 重构为独立可重用的Verticle
第三章 重构为独立可重用的Verticle 版权声明:本文为博主自主翻译,转载请标明出处。 https://blog.csdn.net/elinespace/article/details/80377709 相应的代码位于本指南代码仓库的step-2目录下通过第一次迭代,我们得到了一个可工作的Wiki应用。然而它的实现存在以下问题:HTTP请求处理和数据库访问代码交织在相...翻译 2018-05-20 12:12:26 · 3187 阅读 · 1 评论 -
Vert.x Java开发指南——第二章 使用Vert.x编写最小可用Wiki
第二章 使用Vert.x编写的最小可用Wiki 相应的源代码位于该指南代码库的step-1目录下我们将从第一次迭代开始,最简单的代码可能是使用Vert.x编写一个Wiki。而下一次迭代将在代码库中引入更多的简洁以及适当的测试,我们将看到基于Vert.x的快速原型是一个既简单又现实的目标。现阶段,Wiki将使用HTML页面的服务端渲染以及通过JDBC链接进行数据持久化。为了完成这些...翻译 2018-05-19 20:44:26 · 7899 阅读 · 0 评论 -
Vert.x Java开发指南——第一章 介绍
第一章 介绍该指南是Vert.x异步编程的一个入门介绍,主要针对那些熟悉主流、非异步Web开发框架和库(如Java EE、Spring)的开发者。1.1 关于该手册我们假定读者已经熟悉Java编程语言及其生态系统。我们将以一个Wiki Web应用作为开始,它开始采用关系数据库和服务端页面渲染;然后我们通过几个步骤逐步演进该应用,直到它成为一个现代的单页应用,并且拥有实时Web的...翻译 2018-05-19 12:18:57 · 6285 阅读 · 1 评论