MicroService微服务
微服务理念,微服务的关键技术,微服务的挑战等
topEngineerr
个人邮箱drstime@163.com。欢迎交流。
展开
-
微服务架构中的分布式事务
本编博客主要介绍分布式事务的概念以及行业解决方案。微服务架构越来越流行了。然而,微服务中一个普遍的问题是如何跨多个微服务管理分布式事务。 这篇文章将分享一些经验,并解释问题和可能解决该问题的模式分布式事务概念什么是分布式?什么是事务?什么是分布式事务当微服务架构将单体系统分解为多个服务时,它可能会打破之前的事务。微服务架构意味着单体系统中的本地事务现在被分配到多个服务中,这些服务将按顺序调用。首先我们来看一个单体系统当中使用localtransaction的客户订单示例:在上..原创 2020-11-13 17:41:39 · 633 阅读 · 0 评论 -
一个saas软件项目需要考虑的各种问题
博主从事了三年的saas产品开发,这三年的时间都在这一个saas产品上。该产品基本的架构是采取了微服务架构,后段采用java加Spring以及maven,前端使用的是jquery,UI5,数据库则各个模块各自使用自己需要的数据库,主要是postgresql,以及mongodb。中间件则是使用的rabbitmq。部署在aws云平台上面。后端后端主要处理项目的核心业务逻辑。后端需要考虑下面这些...原创 2019-09-11 14:55:28 · 4203 阅读 · 0 评论 -
微服务的部署
部署单体应用程序的时候,我们往往需要运行单个的通常也是大型应用程序的多个相同副本。通常,您需要配置N台服务器(物理服务器或虚拟服务器),并在每台服务器上运行M个应用程序实例。单体应用程序的部署并非总是完全简单的,但比部署微服务应用程序要简单得多。微服务应用程序包含数十甚至数百个服务。服务以多种语言和框架编写。每个应用程序都是一个微型应用程序,具有自己的特定部署,资源,扩展和监视要求。例如,我们...原创 2020-04-10 13:22:41 · 2195 阅读 · 0 评论 -
单体应用的微服务转型
在博主工作的经历中曾经接受过一个历史超过15年的单体应用程序,其代码行数超过四百万,使用的技术五花八门。并且由于项目太大,也带来了很多问题:运行测试的时间非常之久,要实现CI/CD几乎是一件不可能的事情。 项目前后端耦合在一起 项目使用的框架尤其是前端五花八门,难以管理 项目启动耗时长,开发效率低项目的开发者管理人员当然也意识到了这个问题,但是由于项目已经有很多客户在使用,因此要进行微...原创 2020-04-09 17:24:21 · 655 阅读 · 0 评论 -
微服务里的事件驱动数据管理
微服务下的分布式数据管理问题单体应用程序通常具有单个关系数据库。 使用关系数据库的主要好处是应用程序可以使用ACID事务,这提供了一些重要的保证:原子性–原子地进行更改 一致性–数据库状态始终是一致的 隔离–即使事务是同时执行的,看起来它们还是串行执行的 持久性–事务一旦提交,便不会撤消有了这些,应用程序就可以可以很容易的地开启事务,执行更改(插入,更新和删除)多行的操作并提交事务...原创 2020-04-09 16:10:48 · 423 阅读 · 0 评论 -
微服务之间的通信
在monolithic单体应用程序中,不同的组件之间通过编程语言级别的方法或函数调用相互调用。 相反,基于微服务的应用程序是在多台计算机上运行的分布式系统。 每个服务实例通常是一个进程。 因此,如下图所示,服务必须使用进程间通信(IPC)机制进行交互。交互方式为服务选择IPC机制时,首先考虑服务如何交互是必要的。 客户端⇔服务交互方式多种多样。 它们可以沿两个维度进行分类。 第一个维度...原创 2020-04-08 17:55:42 · 2646 阅读 · 1 评论 -
微服务概念介绍
概述微服务micro service是和单体应用相对应的一个概念。我们不妨先来回顾单体应用程序是怎样的一种行为。在微服务提出之前,世界上流行的应用程序大多都是单体应用程序。何为单体应用程序,个人认为其实这更多的是从服务端应用程序架构角度的一个概念。单体应用程序意味着所有的代码都是在一个项目当中的,这些代码是统一打包部署发布出去的,在一个进程当中运行。微服务,可以理解为将原来单体应用中的...原创 2020-01-18 13:33:16 · 406 阅读 · 0 评论 -
关于微服务架构下的服务注册与发现
Zookeeper实现服务注册和发现zookeeper简介ZooKeeper是用于分布式应用程序的分布式,开源的协作服务。 它提供了一组简单的原语,分布式应用程序可以基于这些原语来实现用于同步,配置维护以及分组和命名的更高级别的服务。Zookeeper的设计易于编程,并使用了和文件系统的目录树结构样式类似的数据模型。zookeeper运行于java环境上。众所周知,协调服务很难做到...原创 2020-04-08 11:23:22 · 820 阅读 · 0 评论 -
关于API gateway
当您选择将应用程序构建为一组微服务时,需要确定应用程序的客户端如何与微服务进行交互。 对于单片应用程序,只有一组(通常是复制的,负载平衡的)端点。 但是,在微服务架构中,每个微服务都公开了一组通常是细粒度的端点。 这会如何影响客户端到应用程序的通信呢。假设我们正在为购物应用程序开发本机移动客户端。我们可能需要实现一个产品详细信息页面,该页面显示有关给定产品的信息。例如,下图显示了在应用程序中...原创 2020-04-08 11:27:23 · 471 阅读 · 0 评论 -
关于负载均衡loadbalanace
负载均衡简介负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。负载均衡分为客...原创 2020-03-17 17:30:38 · 445 阅读 · 2 评论