
SOA技术&架构
e3002
这个作者很懒,什么都没留下…
展开
-
ntp服务器是什么,有什么用?
ntp服务器隶属于小众时间频率行业,对于初次接触者和未涉猎此行业的人群来说,就会有很大的疑问:ntp服务器能做什么,为什么会需要ntp服务器?本文主要通过这两个问题,对ntp服务器进行分总式的说明,希望更多的人能认识ntp服务器,了解ntp服务器,并意识到随着科学技术发展ntp服务器对人文生活,科技发展的重要性和不可或缺性。ntp服务器是什么,有什么用?1、什么是ntp服务器?ntp服务器,对大多数人来说是一个一穷二白的陌生词汇,但是要理解ntp服务器必须先了解什么是ntp和什么是服务器?1)什么转载 2020-08-07 14:48:28 · 9874 阅读 · 3 评论 -
Hystrix 属性配置
配置参数默认值说明命令-执行属性配置hystrix.command.default.execution.isolation.strategyTHREAD配置隔离策略,有效值 THREAD, SEMAPHOREhystrix.command.default.execution.isolation.thread.timeoutInMilliseconds1000命令的执行超时时间,超...转载 2020-02-20 20:01:32 · 363 阅读 · 0 评论 -
微服务部署:蓝绿部署、滚动部署、灰度部署(金丝雀部署)
简介产品或者项目不可能一步到位,一次性推向用户,故而有版本的存在。在app版本更新或者项目迭代的过程中,不可避免需要发布。发布就是部署/重新部署;部署就是修改;修改则意味着风险。目前有很多用于部署的技术,本文将目前常用的布署方案做一个总结。备注:本文不具有多少原创性,多是网络资源的整理,加上个人的理解。分类一、蓝绿部署Blue/Green Deployment定义蓝绿部署是不停老版...转载 2020-02-13 10:45:43 · 756 阅读 · 0 评论 -
微服务编排工具
uber/cadence分布式、伸缩、高可靠的异步执行业务逻辑,工具比较丰富,同时提供了可视化UIhttps://github.com/uber/cadencenetflix/conductor来自netflix 的为微服务编排引擎,支持的功能很丰富,同时文档也比较全参考架构Architecturehttps://github.com/Netflix/conductorzeebe...转载 2020-02-11 12:17:08 · 1364 阅读 · 0 评论 -
rabbitmq实现延时队列(死信队列)
基于队列和基于消息的TTLTTL是time to live 的简称,顾名思义指的是消息的存活时间。rabbitMq可以从两种维度设置消息过期时间,分别是队列和消息本身。 队列消息过期时间-Per-Queue Message TTL: 通过设置队列的x-message-ttl参数来设置指定队列上消息的存活时间,其值是一个非负整数,单位为微秒。不同队列的过期时间互相之间没有影响,即使是对于同一条消息...转载 2019-12-31 10:13:02 · 263 阅读 · 1 评论 -
ZooKeeper 集群搭建
ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效、高可用的分布式协调服务,提供了诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知和分布式锁等分布式基础服务。由于 ZooKeeper 便捷的使用方式、卓越的性能和良好的稳定性,被广泛地应用于诸如 Hadoop、HBase、Kafka 和 Dubbo 等大型分布式系统中。本文的目标读者是对 ZooKeeper 有一定...转载 2019-12-20 11:03:40 · 152 阅读 · 0 评论 -
9种高性能高可用高并发的技术架构
1、分层分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对简单并比较单一的职责,然后通过上层对下层的依赖和调度组成一个完整的系统。在网站的分层架构中,常见的为3层,即应用层、服务层、数据层。应用层,具体负责业务和视图的展示;服务层,为应用层提供服务支持;数据层,提供数据存储访问服务,如数据库、缓存、文件、搜索引擎等。分层架构是逻辑上的,在...转载 2019-12-09 08:51:30 · 387 阅读 · 0 评论 -
BFF —— Backend For Frontend
本文主要内容:什么是 BFFBFF 解决了什么问题使用 BFF 的正确姿势实战中的玩法什么是 BFFBFF,即 Backend For Frontend(服务于前端的后端),也就是服务器设计 API 时会考虑前端的使用,并在服务端直接进行业务逻辑的处理,又称为用户体验适配器。BFF 只是一种逻辑分层,而非一种技术,虽然 BFF 是一个新名词,但它的理念由来已久。BFF 解决了什么...转载 2019-11-06 22:11:05 · 694 阅读 · 0 评论 -
nacos集群raft选举算法
选举算法Nacos集群采用raft算法来实现,它是相对zookeeper的选举算法较为简单的一种。选举算法的核心在RaftCore 中,包括数据的处理和数据同步raft算法演示地址:http://thesecretlivesofdata.com/raft/在Raft中,节点有三种角色:Leader:负责接收客户端的请求Candidate:用于选举Leader的一种角色Follower...转载 2019-09-04 15:41:22 · 2248 阅读 · 0 评论 -
dubbo&nacos集群配置
集群部署文章参见nacos官网,https://juejin.im/post/5cbad19ef265da038b20165e1、可通过nginx做负载均衡到集群节点Nginx配置只访问一个地址负载均衡到三个节点上:upstream nacosserver{server 200.8.9.16:8848;server 200.8.9.17:8848;server 200.8.9.18:8...原创 2019-09-04 16:00:42 · 5078 阅读 · 0 评论 -
Dubbo服务化最佳实践
分包建议将服务接口,服务模型,服务异常等均放在 API 包中,因为服务模型及异常也是 API 的一部分,同时,这样做也符合分包原则:重用发布等价原则(REP),共同重用原则(CRP)。如果需要,也可以考虑在 API 包中放置一份 spring 的引用配置,这样使用方,只需在 spring 加载过程中引用此配置即可,配置建议放在模块的包目录下,以免冲突,如:com/alibaba/china...转载 2019-09-06 09:44:16 · 280 阅读 · 0 评论 -
Dubbo的负载均衡、协议
http://dubbo.apache.org/zh-cn/blog/dubbo-loadbalance.htmlDubbo的负载均衡背景Dubbo是一个分布式服务框架,能避免单点故障和支持服务的横向扩容。一个服务通常会部署多个实例。如何从多个服务 Provider 组成的集群中挑选出一个进行调用,就涉及到一个负载均衡的策略。几个概念在讨论负载均衡之前,我想先解释一下这3个概念。负载均...转载 2019-09-06 09:53:37 · 450 阅读 · 0 评论 -
dubbo集群容错机制
在集群调用失败时,Dubbo 提供了多种容错方案,缺省为 Failover 重试。各节点关系:这里的 Invoker 是 Provider 的一个可调用 Service 的抽象,Invoker 封装了 Provider 地址及 Service 接口信息Directory 代表多个 Invoker,可以把它看成 List,但与 List 不同的是,...原创 2019-09-06 10:07:32 · 440 阅读 · 0 评论 -
dubbo消费方和服务方调用流程
消费端调用流程、在业务层代码中调用远程接口的方法时,实际上是调用的本地创建的代理对象。即在《4.4.3 创建服务类的本地代理》中创建的代理对象。2、在该代理对象中,调用了InvokerInvocationHander.invoke方法。远程调用以Invcation、Result为中心,在这个方法中根据调用的远程方法和传入的参数构建RpcInvcation对象,该对象中的成员变量包括远程...原创 2019-09-06 10:31:59 · 1928 阅读 · 0 评论 -
微服务拆分注意事项
一、服务拆分的前提说到微服务,服务拆分是绕不过去的话题,但是微服务不是说拆就能拆的,有很多的前提条件,需要完成前面几节所论述的部分。首先要有一个持续集成的平台,使得服务在拆分的过程中,功能的一致性,这种一致性不能通过人的经验来,而需要经过大量的回归测试集,并且持续的拆分,持续的演进,持续的集成,从而保证系统时刻处于可以验证交付的状态,而非闭门拆分一段时间,最终谁也不知道功能最终究竟有没有bug...转载 2019-09-17 11:12:47 · 832 阅读 · 0 评论 -
分布式锁的三种实现方式
在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。有的时候,我们需要保证一个方法在同 一时间内只能被同一个线程执行。在单机环境中,Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就是说单纯的Java Api并不能提供分布式锁的能力。所以针对分布式锁的实现目前有多种方案:分布式锁一般有三种实现方式: ...转载 2019-09-20 15:05:23 · 605 阅读 · 0 评论 -
分布式锁实现
现在面试,一般都会聊聊分布式系统这块的东西。通常面试官都会从服务框架(Spring Cloud、Dubbo)聊起,一路聊到分布式事务、分布式锁、ZooKeeper 等知识。所以咱们就来聊聊分布式锁这块的知识,先具体的来看看 Redis 分布式锁的实现原理。说实话,如果在公司里落地生产环境用分布式锁的时候,一定是会用开源类库的,比如 Redis 分布式锁,一般就是用 Redisson 框架就好了...转载 2019-09-20 18:17:42 · 184 阅读 · 0 评论 -
分布式任务调度平台XXL-JOB搭建教程
一、使用XXL-JOB的原因1、 Quartz的不足Quartz作为开源任务调度中的佼佼者,是任务调度的首选。但是在集群环境中,Quartz采用API的方式对任务进行管理,这样存在以下问题:通过调用API的方式操作任务,不人性化。需要持久化业务的QuartzJobBean到底层数据表中,系统侵入性相当严重。调度逻辑和QuartzJobBean耦合在同一个项目中,这将导致一个问题,在调度任...转载 2019-09-20 18:28:07 · 1396 阅读 · 0 评论 -
Nacos 集群服务搭建踩坑记录
前言: 因为了解到Eureka2.0及其部分组件闭源的消息, 项目架构选型时,注册中心组件选择了Nacos作为项目的注册中心,我负责搭建Nacos服务本文所使用的是替换Eureka的Nacos,至于nacos是什么,想必看到本文的朋友应该都了解,不了解的可以看这里。在搭建的过程中遇到了不少问题,下面整理一些不是很常见的问题,有不对的地方,还请读者指出。安装 Nacosnacos 的基本安装...转载 2019-09-04 15:25:31 · 11823 阅读 · 0 评论 -
Dubbo配置文件详解
通过mvn dependency:tree > dep.log命令(Eclipse或Linux命令行)分析,Dubbo缺省依赖以下三方库:[INFO] ± com.alibaba:dubbo:jar:2.1.2:compile[INFO] | ± log4j:log4j:jar:1.2.16:compile[INFO] | ± org.javassist:javassist:jar...转载 2019-08-17 18:22:36 · 955 阅读 · 0 评论 -
和一个网友关于webservice的聊天
项目要用到ws,找了些资料,也在群里向大家请教,这是我跟一个朋友的聊天记录,给自己留个方便,以后看看什么的,也希望能给别人一个基本的概念! 星星 14:53:06刚接触,有些不明白 星星 14:52:44你需要什么? 星星 14:53:51我用http:// 星星 14:54:03....hello.jws 星星 14:54:33可以 看到那个 wsdl文件 星星 14:54:50那个 se原创 2007-06-07 17:03:00 · 1705 阅读 · 1 评论 -
Hessian 原理分析
源地址:http://hi.baidu.com/ecspell/item/b4a284cd18d8473299b498ad 在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯 的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是 基于什么原理实现的呢,转载 2014-02-18 09:24:39 · 678 阅读 · 0 评论 -
Hessian原理分析
源地址:http://blog.youkuaiyun.com/zhtang0526/article/details/4788879Hessian 原理分析 一. 远程通讯协议的基本原理 网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 http 、 tcp 、 udp 等等, http 、 tcp 、 ud转载 2014-02-18 09:23:20 · 585 阅读 · 0 评论 -
康威定律
康威定律(Conway’s Law):“Any organization that design a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. – Melvin Conway, 1968中文原创 2017-09-14 21:56:53 · 2935 阅读 · 0 评论 -
每秒处理10万高并发订单的支付系统架构分享
随着各类抢购的不断升级,支付面临的请求压力百倍乃至千倍的暴增。作为商品购买的最后一环,保证用户快速稳定的完成支付尤为重要。我们对整个支付系统进行了全面的架构升级,使之具备了每秒稳定处理10万订单的能力。为各种形式的抢购秒杀活动提供了强有力的支撑。一、库分表在redis,memcached等缓存系统盛行的互联网时代,构建一个支撑每秒十万只读的系统并不复杂,无非是通过一致性哈希扩展缓存节点,水...转载 2018-08-31 15:00:32 · 9222 阅读 · 0 评论 -
keepalived实现nginx的高可用
nginx实现请求的负载均衡 + keepalived实现nginx的高可用 前言 使用集群是网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力、存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求。这种情况下,更恰当的做法是增加一台服务器分担原有服务器的访问及存储压力。通过负载均衡调度服务器,将来自浏览器的访问请求...转载 2018-09-17 13:40:51 · 271 阅读 · 0 评论 -
keepalived工作原理和配置说明
keepalived是什么 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。keepalived工作原理 keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相...转载 2018-09-14 11:59:29 · 423 阅读 · 0 评论 -
MyCat配置详解
MyCAT 配置解析server.xml Mycat的配置文件,设置账号、参数等schema.xml Mycat对应的物理数据库和数据库表的配置rule.xml Mycat分片(分库分表)规则一 :wrapper.conf--配置jdkwrapper.java.command=D:/Program Files/Java/jdk1.8.0_131/bin/java.exe二:...转载 2019-07-23 20:00:36 · 290 阅读 · 0 评论 -
springboot mybatis mycat读写分离配置demo
FYI:本demo用的是mycat源码 在eclipe中实现第一步:首先git上可以下载mycat源码导入eclipse,地址如下;https://github.com/MyCATApache/Mycat-Server第二步:主要涉及两个配置文件的修改。schema.xml.server.xmlserver.xml 主要是修改成自己的逻辑库账号和密码,注意此处账号是连接mycat而不是mys...原创 2019-07-23 13:46:25 · 1232 阅读 · 0 评论 -
MyCat-schema.xml详解
文章来源:https://www.cnblogs.com/icebutterfly/p/9505624.htmlschema.xml配置的几个术语与其关系图示:二、schema 标签schema 标签用于定义 MyCat 实例中的逻辑库,如: <schemaname="USERDB"dataNode="dn1"checkSQLschema="f...转载 2019-07-23 14:12:27 · 619 阅读 · 0 评论 -
Dubbo中高可用的那些概念
本文链接:https://blog.youkuaiyun.com/J080624/article/details/84064737本文SpringBoot使用2.1.0.RELEASE版本,整合的Hystrix使用2.0.2.RELEASE版本。【1】Zookeeper宕机与dubbo直连① zookeeper注册中心宕机,还可以消费dubbo暴露的服务注意,这里是注册中心全部宕机(比如做了Zooke...转载 2019-08-19 15:01:04 · 367 阅读 · 0 评论 -
RocketMQ底层存储设计
MQ消息队列的一般存储方式当前业界几款主流的MQ消息队列采用的存储方式主要有以下三种方式:(1)分布式KV存储: 这类MQ一般会采用诸如levelDB、RocksDB和Redis来作为消息持久化的方式,由于分布式缓存的读写能力要优于DB,所以在对消息的读写能力要求都不是比较高的情况下,采用这种方式倒也不失为一种可以替代的设计方案。消息存储于分布式KV需要解决的问题在于如何保证MQ整体的可靠性?...转载 2019-08-23 16:17:05 · 1588 阅读 · 0 评论 -
ZAB协议,消息广播,崩溃恢复,数据同步
ZAB协议概述在前面的文章中,介绍了经典的分布式数据一致性算法Paxos算法,但事实上zookeeper并没有采用完全的Paxos算法,而是采用了一种称为Zookeeper Atomic Broadcast(ZAB,zookeeper原子消息广播协议)。ZAB 协议是为分布式协调服务 ZooKeeper 专门设计的一种支持崩溃恢复的原子广播协议。在 ZooKeeper 中,主要依赖 ZAB 协议...转载 2019-08-21 14:39:20 · 470 阅读 · 0 评论 -
ZK概述,数据模型,节点特性,Watcher机制、ACL及数据存储
介绍分布式数据一致性的相关原理及经典的分布式一致性算法,比如:2PC,3PC,Paxos算法。在本篇,我们正式开始介绍Zookeeper,Zookeeper是分布式一致性问题的工业解决方案,是常用的分布式协调框架。本篇,会介绍Zookeeper的基本概念,数据模型,节点特性,Watcher机制及ACL等机制,在后边我们会介绍Zookeeper为了保证一致性使用的算法ZAB,以及Zookeeper的...转载 2019-08-21 14:45:00 · 377 阅读 · 0 评论 -
华为内部如何实施微服务架构?基本就靠这5大原则
随着业务的发展,代码量的膨胀和团队成员的增加,传统单体式架构的弊端越来越凸显,严重制约了业务的快速创新和敏捷交付。为了解决传统单体架构面临的挑战,先后演进出了SOA服务化架构、RPC框架、分布式服务框架,最后就是当今非常流行的微服务架构。微服务化架构并非银弹,它的实施本身就会面临很多陷阱和挑战,涉及到设计、开发、测试、部署、运行和运维等各个方面,一旦使用不当,则会导致整个微服务架构改造的效果大打...转载 2019-08-17 11:23:14 · 660 阅读 · 0 评论 -
window下安装kafak
一、安装1、kafka 需要java环境;2、kafka 最新版本内置了 zookeeper,所以不需要安装zookeeper;如果已安装可以直接使用也可以3、下载kafka最新版本,不需要安装,解压到相应的地方就可以了。4、bin 目录下放的是启动kafka的文件,conf目录下放的是kafka的各种配置文件。二、运行简单demo测试,不需要修改任何配置文件,只需要知道 zookee...原创 2019-08-22 13:47:34 · 202 阅读 · 0 评论 -
SOA
最早看到SOA 这个词是在csdn杂志上,觉得soa更像是一种方法论,让他指导你的系统的架构,而其不是一种实现技术,目前企业的需求是多变的,在soa思想的指导下,使我们能设计和实现出更能满足企业日趋多变的需求,soa很有未来!原创 2006-09-02 16:41:00 · 1253 阅读 · 0 评论