
架构设计
文章平均质量分 92
架构设计相关方法
boonya
资深Java,热衷大数据,Python爬虫,持续探索副业中,有需要的可以加我微信联系:boonya221
展开
-
微服务之间的最佳调用方式
在微服务架构中,需要调用很多服务才能完成一项功能。服务之间如何互相调用就变成微服务架构中的一个关键问题。服务调用有两种方式,一种是RPC方式,另一种是事件驱动(Event-driven)方式,也就是发消息方式。消息方式是松耦合方式,比紧耦合的RPC方式要优越,但RPC方式如果用在适合的场景也有它的一席之地.耦合的种类:我们总在谈耦合,那么耦合到底意味着什么呢? 时间耦合:客户端和服务端必须同时上线才能工作。发消息时,接受消息队列必须运行,但后台处理程序暂时不工作也不影响。 容量耦...转载 2021-08-05 17:49:40 · 569 阅读 · 0 评论 -
SpringCloud BUS 消息总线协调微服务配置与服务消息同步
目录Spring Cloud Bus简介config-server添加消息总线支持config-client添加消息总线支持动态刷新配置演示参考文章Spring Cloud Bus简介Spring Cloud config配置中心可以实现配置修改在不重启服务的情况下进行更新,但是每次更新属性还要去一个一个访问接口,太麻烦了,这个时候我们就要象到发布-订阅模型,让所有服务去订阅这个事件(配置文件发生改变),当配置文件改变时,去通知所有服务更新配置,Bus消息总线就可以完成这样的..原创 2021-04-29 21:55:45 · 605 阅读 · 1 评论 -
SpringCloud实现微服务商城架构开源项目
本文介绍的项目是基于SpringCloud为服务化的系统架构实现。从微服务网关,微服务注册与发现,配置、熔断限流、监控、以及服务调用链路追踪等,以及容器化部署持续集成等一系列方案。项目地址:https://github.com/macrozheng/mallmall前言mall项目致力于打造一个完整的电商系统,采用现阶段流行技术实现。项目文档文档地址:http://www.macrozheng.com 备用地址:https://macrozheng.github.io/..转载 2021-04-29 21:37:10 · 3159 阅读 · 1 评论 -
啄木鸟巡护系统架构演进过程
目录单体应用集群服务内外网集群微服务演进一个系统的架构是一个不断演进的过程,而不是一步到位过度设计。单体应用单体应用阶段:web服务端功能和mobile移动端API接口都在同一个项目中进行部署,在App端使用频繁时段,会造成后端web管理界面打不开的情况,造成程序处于假死状态。采用优化手段:JVM调优,Tomcat调优,数据库连接池优化,Nginx限流;但这些方法不能从根本上解决web端高峰时段正常使用。集群服务有了单体服务的糟糕体验之后,我们将原有代码进..原创 2021-04-21 10:14:54 · 912 阅读 · 3 评论 -
建议使用RPC替代企业应用间通信RESTFul接口服务调用
Restful已经用得太多了,是不是有种被接口压垮的感觉? 接口还没好,您就等着吧。摸鱼抓虾,问兄弟好了没,答还没好,今天啥事儿没干,1,2,3,4,周五好了,你这儿疯狂测试一堆问题,ok周末加加班,这就是常态。RPC是远程过程调用(Remote Procedure Call)的缩写形式。SAP系统RPC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。 RPC主要是解决软件多进程之间的调用问题,而要原创 2021-01-24 23:23:30 · 968 阅读 · 1 评论 -
MQ数据同步Redis与DB实时数据一致性问题研究
实时性的数据,一般业务管理数据都是基本上不发生变化的,而发生随时不停发生变化的数据我们将之称之为实时性高的数据叫实时数据。实时数据很难保证在不同数据源下的一致性,除非查看的是某一时刻的数据快照(历史快照),否则很难保持不同数据源数据之间没有差异。所以,从实践中得出的结论是:异构多数据源保证实时数据一致性是一个伪命题,缓存的使用具有不可逆的特性,大多数情况下缓存不能当作真实数据源。预设场景欲实现移动App人员位置管理,要求:1、展示用户总数和在线数量,数据交互到REDIS。2、通过用户在线情况原创 2020-09-11 23:12:04 · 2705 阅读 · 0 评论 -
ETL数据仓库技术概念与工具
ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。数据仓库是数据库的更高层次的应用,数据仓库的数据是历史的不可更改的,只有在全局逐步演进的数据才允许更新,与数据挖掘有关,主要是为大数据分析和领导决策使用。简介ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合原创 2020-09-03 13:05:53 · 940 阅读 · 0 评论 -
阿里云SLB、ECS、OSS、RDS实现高可用服务架构与系统数据迁移到云上
如题:阿里云SLB、ECS、OSS、RDS实现高可用服务架构,分别对应如下服务。前提:阿里云服务开通OSS、SLB、ECS、RDS服务。规划:ECS3台,SLB、OSS、RDS各一台。(根据自己的服务需求而定)架构设计注意:SLB已经包括了流量分发服务,即LVS+keepAlived。所以,可以近似看为如下图所示:SLB-ECS-OSS-RDS与数据迁移ECS、OSS、RDS都支持数据迁移,这个阿里云服务官网有介绍。这里将我整理的文档分享给大家。...原创 2020-06-12 16:59:11 · 1272 阅读 · 0 评论 -
Mycat与Mysql高可用架构设计
keepalived: 虚拟IP工具,可以虚拟一个200的地址对外访问。haproxy:高可用代理服务,可代理TCP、HTTP。Mycat :数据库分库分表插件。原创 2020-06-02 22:15:21 · 453 阅读 · 0 评论 -
Redis解决老项目集群Session共享案例与回顾
老项目突然之间客户要用了而且用户量还不少,后端移动端都需要给升级。第一改进的时候做了移动端与后端的服务分流,这次升级为分布式集群模式。分布式集群模式需要解决Session共享问题和数据一致性分布式锁处理。因为历史原因,应用是单体应用并非微服务技术实现。为应对移动端大概20000左右的用户使用量做的如下改造。目录服务器端口分配管理分布式集群session共享管理Tomcat sess...原创 2019-12-27 10:10:33 · 996 阅读 · 0 评论 -
分布式-集群模式-微服务
1.分布式将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。区别分布式的方式是根据不同机器不同业务。注:分布式需要做好事务管理。2.集群模式集群模式是不同服务器部署同一套服务对外访问,实现服务的负载均衡。区别集群的方式是根据部署多台服务器业务是否相同。注:集群模式需要做好session共享,确保在不同服务器切换的过程中不原创 2017-02-13 11:49:28 · 2344 阅读 · 0 评论 -
应用消息队列设计可以解决哪些实际问题?
消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ。消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ。消息中间件到底该如何原创 2017-03-29 15:08:09 · 17204 阅读 · 0 评论 -
企业级云管理平台的架构实现与落地实践、趋势分析
最下面有一个虚拟化的层,这里面有Vsphere、KVM、XenServer,然后在上面技术架构层上发生了变化,最开始从Vcenter逐渐发展成OpenStack,我们发现需要个云管平台,这个平台把底下的不同技术架构进行统一管理,整个业界也都是按照这个层次来进行IT系统建设。现在OpenStack比较流行的,企业用户上了OpenStack以后,在CMP上的需求就出来了,单单通过OpenStack或者vCenter这样的技术架构是不能解决用户在管理上的需求的。转载 2017-05-11 16:54:26 · 2084 阅读 · 0 评论 -
两个Java微服务框架MSF4J&Microserver
两个Java微服务框架MSF4J&Microserver。原创 2017-05-24 15:11:30 · 2310 阅读 · 1 评论 -
携程日处理20亿数据,实时用户行为服务系统架构实践
携程实时用户行为服务作为基础服务,目前普遍应用在多个场景中,比如猜你喜欢(携程的推荐系统)、动态广告、用户画像、浏览历史等等。以猜你喜欢为例,猜你喜欢为应用内用户提供潜在选项,提高成交效率。旅行是一项综合性的需求,用户往往需要不止一个产品。作为一站式的旅游服务平台,跨业务线的推荐,特别是实时推荐,能实际满足用户的需求,因此在上游提供打通各业务线之间的用户行为数据有很大的必要性。携程原有的实时用户行为系统存在一些问题,包括:1)数据覆盖不全;2)数据输出没有统一格式,对众多使用方提高了接入成本;3)日志处理模转载 2017-05-06 17:43:44 · 2097 阅读 · 0 评论 -
腾讯高性能RPC开发框架Tars实现服务治理(微服务)
Tars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用。Tars是将腾讯内部使用的微服务架构TAF(Total Application Framework)多年的实践成果总结而成的开源项目。Tars这个名字来自星际穿越电影人机器人Tars,电影中Tars有着非常友好的交互方式,任何初次接触它的人都可以轻松的和它进行交流,同时能在外太空、外星等复杂地形上,超预期的高效率的完成托付的所有任务。拥有着类似设计理念转载 2017-05-21 18:11:56 · 13232 阅读 · 2 评论 -
企业级后台管理与移动端数据采集系统Nginx+MQ+Redis架构演进
对于一个应用系统的演化进程跟用户量有直接关系,只有不断地调整自己的架构满足用户的需求才是第一位的,受益者不光是用户还有企业甚至是开发人员。一个阶段性的东西,只是针对具体情况的分析和实践,所谓架构就是高层建筑,需要考虑高可用性、可扩展性、可维护性、简单易部署。本次博客主要讲解移动端并发和附件上传对后台服务造成影响之后我们做的调整方案及后期规划,对于数据库层面数据量暴增对后端的影响本篇暂不做论述。...原创 2019-04-04 10:48:23 · 788 阅读 · 0 评论 -
InfluxDB与Canal实现数据库增量备份统计分析及系统监控架构设计
本文通过InfluxDB与Canal实现数据库增量日志分析统计及系统监控架构设计,目标就是为了零侵入现有代码实现数据增量备份处理和实现用户业务数据、接口等操作实时统计功能,这里有点像AOP编程,抽象我们需要修改的地方然后进行日志记录操作。目录架构设计需求设计要求增量备份&统计架构图增量备份&统计分析&系统监控架构图系统监控实践InfluxDB基...原创 2019-04-22 17:12:06 · 1834 阅读 · 0 评论 -
如何构造即时通信或视频帝国——云服务的集中爆发点
经过一段时间的思考,还是觉得做传统行业缺乏动力,沉浸在业务的海洋里可能会溺死。总结一下技术栈和相关的知识,也相当于是个普及吧。前两年视频直播很火,经过这几年的发展市场也在逐步地规范,尤其涉黄主播在直播领域泛滥成灾,也为视频行业的发展蒙上一层朦胧的薄纱,看不清楚未来该怎么发展。 但是除了这些,我们如果好好利用可以发掘很多传统行业对视频的需求还是很旺盛的。并且传统行业互联网+的概念和云结合之后几乎云无...原创 2019-05-09 17:07:37 · 348 阅读 · 2 评论 -
常用GIS行业技术架构总结-技术运维产品
常用技术架构总结:包括技术架构、运维架构、产品架构。知识剖析给出了普遍使用的软件技术选型。目录知识剖析技术架构运维架构产品架构知识剖析技术架构运维架构产品架构设计下载Axure文件:https://download.youkuaiyun.com/download/boonya/11705011...原创 2019-09-09 13:06:11 · 10315 阅读 · 0 评论 -
互联网产品灰度发布
互联网产品灰度发布 关于2016年5月15日,DevOps成都站|架构与运维峰会活动总结1. 前言 22. 灰度发布定义 53. 灰度发布作用 54. 灰度发布步骤 55. 灰度发布测试方法 66. 灰度发布引擎 67. 灰度发布常见问题 87.1. 以偏概全 87.1.1. 问题特征: 87.1.2. 解决方案: 87.2. 知识的诅咒 9原创 2016-05-30 14:37:39 · 30649 阅读 · 5 评论 -
微服务架构的分布式事务解决方案
原文地址:http://www.iteye.com/topic/1145919分布式系统架构中,分布式事务问题是一个绕不过去的挑战。而微服务架构的流行,让分布式事务问题日益突出!下面我们以电商购物支付流程中,在各大参与者系统中可能会遇到分布式事务问题的场景进行详细的分析! 如上图所示,假设三大参与平台(电商平台、支付平台、银行)的系统都做了分布式系统架构转载 2017-02-13 13:12:00 · 774 阅读 · 0 评论 -
图解微服务架构演进
原文地址:http://ifeve.com/weixin-art/1.前言来自dubbo的用户手册中的一句话:随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。常规的垂直应用架构就相当于传统的那种,现阶段传统垂直架构改造的核心就是对应用做服务化改造,服务话改造使用的核心技术转载 2017-02-13 13:03:03 · 787 阅读 · 0 评论 -
阿里云存储表格存储TableStore-高并发IM系统架构优化实践
文章地址:https://yq.aliyun.com/articles/66461?utm_campaign=66461&utm_medium=images&utm_source=oschina&utm_content=m_9002高并发IM系统架构优化实践无衣蒹葭2016-12-13 11:23:45 浏览8499评论5 发表于: 阿里云存储服务 >> 表格存转载 2017-01-17 10:31:10 · 3743 阅读 · 0 评论 -
微服务、单体应用以及NoOps
原文地址:geek.youkuaiyun.com/news/detail/78089一个单体应用程序,通俗来说就是应用程序的全部功能被一起打包作为单个单元或应用程序。 这个单元可以是JAR、WAR、EAR,或其他一些归档格式,但其全部集成在一个单一的单元。 例如在线购物网站通常会包括客户、产品、目录、结帐等功能。 另一个例子是如下的movieplex。这样的应用程序通常由节目预订、添加/删除的电影、票转载 2016-06-24 10:35:21 · 2330 阅读 · 0 评论 -
Linux系统中采用Atlas+Keepalived实现MySQL读写分离、负载均衡
==========================================================================================一、基础介绍==========================================================================================1、背景描述转载 2016-05-31 16:47:29 · 1590 阅读 · 0 评论 -
MySQL 主从复制与读写分离概念及架构分析
1.MySQL主从复制入门首先,我们看一个图:影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中。假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的3306端口,通过网络发给MYSQL-B。MYSQL-B收到后,写入本地日志系统B,然后一条条的将数据库事件在数据库中完成。那么,MYSQL-A的变化,MYSQL-B转载 2016-05-31 15:09:18 · 4406 阅读 · 0 评论 -
LVS+keepalived+nginx+tomcat部署实现
From:http://lovelace.blog.51cto.com/1028430/1550188# 架构拓扑# 节点分布情况LVS-dr-master eth0: 192.168.146.141 LVS-dr-slave eth0: 192.168.146.142nginx1: eth0: 192转载 2016-05-17 15:42:19 · 2003 阅读 · 0 评论 -
ActiveMQ集群方案
1、综述通过之前的文章,我们讨论了ActiveMQ的基本使用,包括单个ActiveMQ服务节点的性能特征,关键调整参数;我们还介绍了单个ActiveMQ节点上三种不同的持久化存储方案,并讨论了这三种不同的持久化存储方案的配置和性能特点。但是这还远远不够,因为在生产环境中为了保证让我们设计的消息服务方案能够持续工作,我们还需要为消息中间件服务搭建集群环境,从而在保证消息中间件服务可靠性和处理性能转载 2016-04-20 13:19:02 · 1469 阅读 · 0 评论 -
CAS实现SSO单点登录原理
1. CAS 简介 1.1. What is CAS ?CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA-SIG 的一个项目转载 2016-05-11 17:38:22 · 1413 阅读 · 0 评论 -
在首席架构师手里,应用架构如此设计
转载自:http://geek.youkuaiyun.com/news/detail/73332无架构,不系统,架构是大型系统的关键。从形上看,架构是系统的骨架,支撑和链接各个部分;从神上看,架构是系统的灵魂,深刻体现业务本质。架构可细分为业务架构、应用架构、技术架构,业务架构是战略,应用架构是战术,技术架构是装备。其中应用架构承上启下,一方面承接业务架构的落地,另一方面影响技术选型。如何针对转载 2016-05-11 17:26:35 · 10155 阅读 · 0 评论 -
负载均衡层次结构:LVS Nginx DNS CDN
文章地址:http://blog.youkuaiyun.com/mindfloating/article/details/51020767作为后端应用的开发者,我们经常开发、调试、测试完我们的应用并发布到生产环境,用户就可以直接访问到我们的应用了。但对于互联网应用,在你的应用和用户之间还隔着一层低调的或厚或薄的负载均衡层软件,它们不显山不露水默默的发挥着重要的作用,以至于我们经常忽略了它们的存在。因为转载 2016-04-05 14:24:34 · 7328 阅读 · 0 评论 -
宅米技术推动应用架构与人员组织架构发展
作者:李智慧,宅米CTO,曾供职阿里巴巴与英特尔亚太研发中心,从事大型网站、分布式系统、大数据平台方面的研发工作。著有《大型网站技术架构-核心原理与案例分析》一书。最近几年,互联网创业浪潮风起云涌,各类互联网创业公司如雨后春笋般成立。技术做为互联网创业重要的一个组成部分,也前所未有的受到重视。互联网企业的发展通常都是爆发式增长,在极短的时间内,业务规模、用户量成百上千倍的增长,对网站的技术转载 2016-06-29 14:35:23 · 1697 阅读 · 0 评论 -
搭建基于Mesos的Kubernetes集群
文章来源: http://geek.youkuaiyun.com/news/detail/90931 Kubernetes是一个跨多个计算节点的管理容器化应用的系统,它提供了一系列基本的功能,如应用的自动化部署,维护和扩展等。Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核。把Kubernetes运行在Mesos集群之上,可以和其他的框架共享集群资源转载 2016-07-25 14:09:09 · 3507 阅读 · 0 评论 -
Mesos高可用解决方案剖析
本文系作者根据自己对Mesos的高可用(High-Availability)设计方案的了解以及在Mesos社区贡献的经验,深度剖析了Mesos集群高可用的解决方案,以及对未来的展望。Mesos高可用架构概述首先,我们来参考Mesos官方给出的设计架构,如图1所示。Mesos采用的也是现在分布式集群中比较流行的Master/Slave主从集群管理架构,Mesos master节点是整转载 2016-07-18 14:57:01 · 3206 阅读 · 0 评论 -
美团外卖订单系统演进
文章来源:http://geek.youkuaiyun.com/news/detail/101994美团外卖从2013年9月成交第一单以来,已走过了三个年头。期间,业务飞速发展,美团外卖由日均几单发展为日均500万单(9月11日已突破600万)的大型O2O互联网外卖服务平台。平台支持的品类也由最初外卖单品拓展为全品类。随着订单量的增长、业务复杂度的提升,外卖订单系统也在不断演变进化,从早期一个订单转载 2016-12-07 14:03:17 · 13478 阅读 · 2 评论 -
携程移动端架构演进与优化之路
导读: 目前携程 75% 以上订单来自移动端,App 几乎承载了整个集团的所有业务形态。那么无线服务端和客户端底层架构如何支撑如此复杂灵活多样多变的业务,并顺利接入整个集团十几个不同研发团队开发的代码,让这么多团队协同开发,无缝集成在同一个 App 内,还能确保其质量和性能?这对移动端架构提出了非常严峻的挑战。从2013年开始,我们先后进行了不同路径的多样性架构探索,在实践过程中也经历了各转载 2016-10-18 22:14:44 · 1092 阅读 · 0 评论 -
微服务最佳实践
在我还不知道什么叫微服务架构的时候我就使用过它。以前,我写了一些管道程序(pipeline application),它由一些相互和队列交互的模块构成。自那之后,一批ThoughtWorks的专家也讨论过微服务。Fred George[1],接着是James Lewis[2]还有 Martin Fowler[3] 都写博文讨论微服务,使得微服务变成了下一个时髦术语,现在每个公司都想使用一些微服务。转载 2016-09-19 14:11:56 · 1875 阅读 · 0 评论 -
微服务系统架构的优点与不足
摘要:本文来自Nginx官方博客,是微服务系列文章的第一篇,主要探讨了传统的单体式应用的不足,以及微服务架构的优势与挑战。正如作者所说,微服务架构更适合用于构建复杂的应用,尽管它也有自己的不足。 英文原文:Introduction to Microservices 这篇文章作者是Chris Richardson,他是早期基于Java的Amazonite EC2 PaaS平台Cl转载 2016-09-18 17:39:12 · 3799 阅读 · 0 评论 -
系统架构设计之微服务(Microservice)
WHAT - 什么是微服务 微服务简介 这次参加JavaOne2015最大的困难就是听Microservice相关的session,无论内容多么水,只要题目带microservice,必定报不上名,可见Microservice有多火。最喜欢其中一页。关于这个典故,可以参考this,此图适用于一切高大上的名字——技术有SOA,Agile,CLOUD,DevOps等等,古代有道,气,八卦等等。转载 2016-09-18 17:19:15 · 8713 阅读 · 0 评论