一、什么是微服务架构 微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通信协作。被拆分成的每一个小型服务都围绕着系统中的某一项或一些耦合度较高的业务功能进行构建,并且每个服务 ...
分类:
编程语言 时间:
2018-08-07 23:51:33
阅读次数:
205
1、面试题 为什么要进行系统拆分?如何进行系统拆分?拆分后不用dubbo可以吗? 2、面试官心里分析 从这个问题开始就进行分布式系统环节了,好多同学给我反馈说,现在出去分布式成标配了,没有哪个公司不问问你分布式的事儿。你要是不会分布式的东西,简直这简历没法看,没人会让你去面试。 其实为啥会这样呢?这 ...
分类:
其他好文 时间:
2018-08-03 14:47:36
阅读次数:
161
简介 Dubbo是什么? dubbo是阿里开源的分布式服务治理框架,对服务的负载均衡,权重,监控,路由规则,禁用启用的管理,以及服务的自动注册和发现 分布式架构下面临问题 在分布式架构下,我们会将一个系统拆分各个子系统,子系统和传统的Service层,拆分为服务层(对外提供服务)和Controlle ...
分类:
其他好文 时间:
2018-07-24 11:56:13
阅读次数:
123
微服务是将原来独立系统拆分成多个小的、独立进程运行的小服务单元,服务单元之间通过RPC或HTTP协议来相互通信协作。每个独立的服务内部都有自己的数据存储、业务逻辑、运维部署机制。 我们在享受微服务化后带来的灵活、便利、扩展性同时,对我们的运维和服务治理也提出了新的挑战。从早先单体应用的代码依赖变成了 ...
分类:
其他好文 时间:
2018-07-13 10:17:28
阅读次数:
546
随着业务的复杂性增大、系统吞吐量增长,所有功能统一部署难度加大,各个功能模块相互影响,使系统变的笨重且脆弱;因此需要对业务进行拆分、对系统进行解耦、对系统内部架构升级,来提升系统容量及健壮性。 接下来主要分两部分介绍:系统拆分与结构演变; 系统拆分 系统拆分从资源角度分为:应用拆分和数据库拆分; 从 ...
分类:
其他好文 时间:
2018-06-28 16:03:08
阅读次数:
178
1.1 传统架构 1.2 1000并发 需要20台服务器做tomcat集群。当tomcat集群中节点数量增加,服务能力先增加后下降。 所以集群中节点数量不能太多,一般也就5个左右。 1.3 10000并发 需要按照功能点把系统拆分,拆分成独立的功能。单独为某一个节点添加服务器。需要系统之间配合才能完 ...
分类:
其他好文 时间:
2018-05-20 11:49:38
阅读次数:
189
前言在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与发现的方式互相依赖。 由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟, 而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不 ...
分类:
其他好文 时间:
2018-05-12 11:11:40
阅读次数:
1328
Spring Cloud(十二):分布式链路跟踪 Sleuth 与 Zipkin【Finchley 版】 发表于 2018-04-24 | 随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后 ...
分类:
编程语言 时间:
2018-05-11 20:31:47
阅读次数:
5432
简介在微服务中,服务注册与发现对管理各个微服务子系统起着关键作用。随着系统水平扩展的越来越多,系统拆分为微服务的数量也会相应增加,那么管理和获取这些微服务的URL就会变得十分棘手,如果我们每新加一个微服务,就要在其它用到此微服务的地方手动加上它的URL地址或者其他通信协议的地址,这样会经常出错,而且工作量巨大,一旦某个微服务的地址发生了变化,就要手动修改所有引用它的微服务的配置文件。所以sprin
分类:
编程语言 时间:
2018-05-03 15:22:14
阅读次数:
161
在微服务中,我们将系统拆分为很多个服务单元,各单元之间通过服务注册和订阅消费的方式进行相互依赖。但是如果有一些服务出现问题了会怎么样? 比如说有三个服务(ABC),A调用B,B调用C。由于网络延迟或C本身代码有问题导致B迟迟得不到回应,这样B调用C的请求就会被挂起,等待。 在高并发的访问的情况下,这 ...
分类:
编程语言 时间:
2018-04-30 01:00:34
阅读次数:
266