回到索引 框架层面: SOA在这一篇中会逐个介绍一下自己对这些XXX的理解,其实每一个理念都不是莫名其妙产生的而是有产生背景的,这些时髦的名词不是用来炫耀的,而是真正要理解它们是干什么的,并且框架千万不能乱用理念也千万不能乱用,并不是把所有的这些都用上你的系统才是一个牛逼的系统,一定要适合才是最好的,并且要保持简单可靠的原则。所谓SOA,字面上来说是面向服务的架构。有的人不说S
MQ:消息队列。生产者消费者模式,可用于对消息实时性要求不高的场景。多进程之间间接调用关系Dubbo:RPC实现。多进程之间直接调用关系 dubbo1,rpc的分布式集群支持:负载均衡是对外提供一个公共地址,请求过来时通过轮询、随机的形式来分摊压力,挂一台补一台2,结合zookeeper解藕:(提供者注册和消费者订阅)客户端和服务端启动的时候都会把自己的机器IP注册到zookeeper上
转载
2023-07-17 13:59:56
1618阅读
简介RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在不同的应用之间共享数据(跨平台跨语言)。RabbitMQ是使用Erlang语言编写,并且基于AMQP协议实现。消息总线(Message Queue),是一种跨进程、异步的通信机制,用于上下游传递消息。由消息系统来确保消息的可靠传递。作用 1.异步处理场景说明: 用户注册后,需要发注册邮件和注册短信。&
转载
2023-07-10 13:36:37
519阅读
后端的应用架构经过发展,分为单一应用架构、垂直应用架构、分布式应用架构、面向服务的分布式应用架构、微服务架构等。一、单一应用架构把所有功能都集中在一个项目里面,类似于刚学习时的SSM,就把所有的功能都放在同一个项目。适用于小型网站,小型管理系统,将所有功能都部署到一个功能里,简单易用。缺点: 1、性能扩展比较难 2、
转载
2023-11-17 15:24:18
154阅读
为什么要使用RabbitMQ?1.解耦系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦。2.异步将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度。3.削峰并发量大的时候,所有的请求直接怼到数据库,造成数据库连接异常。 RabbitMQ原理和架构RabbitMQ的技术架构如下图所示:1.生产者(Publisher)发消息到Ra
转载
2023-07-10 13:31:33
283阅读
首先从概念上来说,MQ是消息中间件,MB是ESB产品MQ负责在两个系统之间传递消息,这两个系统可以是异构的,处于不同硬件、不同操作系统、用不同语言编写,只需要简单的调用几个MQ的API,就可以互相通讯,你不必考虑底层系统和网络的复杂性。MQ作为IBM的一个拳头产品,虽然功能看上去很简单,就是个消息队列,但他却是IBM中间件的核心,也是相比其他厂商(比如BEA)的一个优势。MQ不仅有很高的性能,而
转载
2024-04-29 11:26:07
402阅读
后端技术栈有以下几种:负载均衡;微服务生态;Thrift;Consul;数据库;Strutc;Spring;Mybatis;Shiro;Maven;其中,负载均衡帮助调度者合理分配任务,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,提升了服务整体相应速度和系统稳定性。1. 负载均衡它将流量从外部转发到内部系统,对于同样的请求内容,不同时序的请求会被转发到不同的服务实例上。对
转载
2023-08-21 17:34:41
296阅读
前端和后端前端/后端是针对技术特点来说的:前端的技术特点是与用户密切相关的,用户关注点是产品提供的服务是否快捷方便。所以前端要着眼于设备的要求来做的,分为pc网页端,移动h5端,android端,ios端,还有桌面端的应用。每种设备的要求是不一样的。而桌面端的应用,现在大部分都尸生产力工具为主。而后端的技术特点是与业务密切相关的,用户关注高效管理和持继运营,所以后端工程师对服务的稳定性,高效性,和
转载
2023-07-10 22:08:41
111阅读
一、消息中间件功能1.应用解藕:应用之间不在相互依赖。2.流量削峰:流量达到高峰的时候,通常使用限流算法来控制流量涌入系统,避免系统被击瘫,但是这种方式损失了一部分请求。 此时可以使用消息中间件来缓冲大量的请求,匀速消费,当消息队列中堆积消息过多时,我们可以动态上线增加消费端,来保证不丢失重要请求。3.大数据处理消息中间件可以把各个模块中产生的管理员操作日志、用户行为、系统状态等数据文件作为消息收
转载
2024-06-05 12:39:21
31阅读
第一种叫做主备模式,这种主备模式呢它可以理解为我们的一个热备份,就是说我有一个master,还有一个slave。正常情况下我们的master是对外提供读写的,而slave呢仅仅作为一个备份,当我们出现异常的时候,比如说master故障宕机的时候呢会做一个切换,然后我们的slave节点被升级成一个master节点,这种方式呢也是非常经典的一种模型。接下来我们再看一种远程模式,远程模式这个是Rabbi
转载
2023-09-09 06:34:49
13阅读
MP 是一个基于 MyBatis 的增强工具,为简化开发、提高效率而生。
1、MyBatis Plus
MyBatis-Plus(简称 MP)是一个基于 MyBatis 的增强工具,为简化开发、提高效率而生。1.1、特点无侵入:在 MyBatis 基础上只做增强不做改变,不影响现有工程。损耗小:自动注入基本 CRUD,性能基本无损耗,直接面向对象操作。支持多
事件驱动架构 理解起来比较简单,普遍认为好的软件架构都是解耦的,微服务之间不应该相互耦合或依赖。举个例子,我们在代码中调用微服务 go.srv.user-service 的函数,会先通过服务发现找到微服务的地址再调用,我们的代码与该微服务有了直接性的调用交互,并不算是完全的解耦。发布与订阅模式为了理解事件驱动架构为何能使代码完全解耦,先了解事件的发布、订阅流程。微服务 X 完成任务 x 后通知消息
转载
2024-01-30 07:51:05
101阅读
接触分布式相关概念差不多有两周时间了,以前觉得其很神秘,离自己也很遥远,进而对它充满向往。如今有机会参与相关的工作让我觉得既兴奋又倍感压力。好了,切入正题,今天主要就之前学习的一些知识点:kafka、zookeeper做一下总结。 一:消息队列MQ 说到消息队列MQ,目前业界常用的有RabbitMQ、ZeroMQ、ActiveMQ、Kafka、RocketMQ。下面主要就Kafka进行展开分析
转载
2024-04-30 20:56:16
128阅读
MQ的整个过程中有三处可能产生消息的丢失生产者到MQ的链路MQ自身宕机MQ到消费端的链路生产者到MQ的消息丢失生产者发送消息过程中可能因为网络问题等导致消息发送不成功,丢失数据,这个过程MQ提供了两种机制来解决:MQ事务在生产端发送消息时,可以使用MQ提供的事务提交机制,当消息发送成功后才会提交事务继续运行,否则当次处理回滚// 开启事务
channel.txSelect
try {
// 发送消
转载
2024-05-30 09:01:56
53阅读
## Java MQ通信 前后端通信实现流程
### 1. 了解MQ和前后端通信的基本概念
在开始实现Java MQ通信和前后端通信之前,首先需要了解以下基本概念:
1. **MQ(Message Queue)**:是一种消息传递机制,它将消息发送者和接收者解耦,通过消息队列实现异步通信。
2. **前后端通信**:指前端与后端之间的数据交换和通信,常用的方式有Ajax、WebSocket
原创
2023-09-28 21:26:37
189阅读
试题分布 设计模式 目录 设计模式 1 1 设计模式概述 2
1.1 设计模式的概念 3
1.2 设计模式的组成 3
1.3 GOF 设计模式 3
1.4 其他设计模式 3
1.5 设计模式与软件架构 3
1.6 设计模式分类 3 2 设计模式及实现 3
2.1 ABSTRACT FACTORY 模式 3
2.2 SINGLETON 模式 3
2.3 DECORATOR 模式 3
1.1什么是MQ消息中间件MQ全称negMessage Queue (消息队列),是在消息的传输过程中保存信息的容器,他是一ing用程序和应用程序之间的通信方法1.2为什么使用MQ在实际开发中,可以将一些无需返回且好事的操作哦提取出来,进行异步处理,二这种异步处理的方式,大大的节省了服务器的请求响应时间,从而提高了系统的运行效率1.3MQ的三大好处1.3.1应用解耦这个很好理解,一个项目中有好多的
转载
2024-09-20 10:04:05
31阅读
【Java 实战】通过Redis 和 MQ 简单实现秒杀功能
转载
2022-06-09 23:18:00
143阅读
内存结构:系统全局区(SGA):数据库缓冲区高速缓存、重做缓冲区以及各种池程序全局区(PGA)进程结构:用户进程和服务器进程后台进程:SMON、PMON、DBWn、CKPT、LGWR、ARCn 等存储结构:逻辑:数据库、方案、表空间、段、区和Oracle 块物理: 数据文件、控制文件和重做日志文件Oracle DB 服务器由一个数据库(Oracle DB)以及一个或多个数据库实例组成。每当启动一个
转载
2024-01-31 16:38:02
136阅读
引子软件架构从最初的单体架构,到垂直架构,到SOA架构,再到现在流行的微服务架构,一直处在演进与发展中。演进的过程本质上是在不停的满足愈发复杂的业务需求,因此笔者更倾向称呼它们为“业务架构”。每一次架构的演进都是基于原有架构的特性再结合实际的业务场景而进行的改进,但这并不意味着越新的架构就越优,每一种架构都有其所适用的场景。1 单体架构单体架构,就是将所有的功能集中在一个工程中。对于小型项目来讲,
转载
2024-06-25 07:11:27
116阅读