Wesley13 Wesley13
3年前
MySQL 子查询及其优化
使用过oracle或者其他关系数据库的DBA或者开发人员都有这样的经验,在子查询上都认为数据库已经做过优化,能够很好的选择驱动表执行,然后在把该经验移植到mysql数据库上,但是不幸的是,mysql在子查询的处理上有可能会让你大失所望,在我们的生产系统上就碰到过一些案例,例如:SELECTi_id,sum(i_sell)
Stella981 Stella981
3年前
Dubbo Mesh 在闲鱼生产环境中的落地实践
!(https://oscimg.oschina.net/oscnet/adec4a7184472f1f87c62b1a3243f578a82.jpg)本文作者至简曾在2018QCon上海站以《ServiceMesh的本质、价值和应用探索》(https://www.oschina.net/action/GoToLink?urlhttp
Stella981 Stella981
3年前
RabbitMQ如何高效的消费消息
在上篇介绍了如何简单的发送一个消息队列之后,我们本篇来看下RabbitMQ的另外一种模式,工作队列。什么是工作队列我们上篇文章说的是,一个生产者生产了消息被一个消费者消费了,如下图!(https://usergoldcdn.xitu.io/2020/5/15/1721768c1b303014?w1824&h55
Easter79 Easter79
3年前
SpringCloud Stream生产者配置RabbitMq的动态路由键
在写这个文章前不得不吐槽目前国内一些blog的文章,尽是些复制粘贴的文章,提到点上但没任何的深入和例子。.........经过测试下来总结一下RabbitMQ的Exchange的特性:1、direct生产者可以指定路由键,消费者可以指定路由键,但不能讲路由键设置为(全部)。2、topic生产者可以指定路由键,消费者可以指定路由键,也可以
Stella981 Stella981
3年前
Django自定义User模型、认证、权限控制
Django自带强大的User系统,为我们提供用户认证、权限、组等一系列功能,可以快速建立一个完整的后台功能。但User模型并不能满足我们的需求,例如自带的User表中没有手机号码,而且对于国人来说表中的first\_name和last\_name并没有什么卵用,对于实际生产中灵活的用户表来说重写User模型是非常有必要的。扩展User模型
Easter79 Easter79
3年前
SpringMVC中配置RabbitMQ
        RabbitMQ是工作在amqp协议(advancedmessagequeueprotocal,高级消息队列协议)上的一个消息中间件。它通过一个生产者消费者模型来处理应用中产生的消息。        除了生产者和消费者,此模型中另外一个重要的概念叫“工作队列”,也称为“任务队列”(TaskQueue),任务队列背后的核心想法是避免
Stella981 Stella981
3年前
RabbitMQ 如何保证消息的可靠性
一条消费成功被消费经历了生产者MQ消费者,因此在这三个步骤中都有可能造成消息丢失。一消息生产者没有把消息成功发送到MQ1.1事务机制AMQP协议提供了事务机制,在投递消息时开启事务支持,如果消息投递失败,则回滚事务。自定义事务管理器@Configuration
Stella981 Stella981
3年前
Kafka生产者发送消息的三种方式
Kafka是一种分布式的基于发布/订阅的消息系统,它的高吞吐量、灵活的offset是其它消息系统所没有的。Kafka发送消息主要有三种方式:1.发送并忘记2.同步发送3.异步发送回调函数下面以单节点的方式分别用三种方法发送1w条消息测试:方式一:发送并忘记(不关心消息是否正常到达,对返回结果不做任何判断处理)发送并忘记的方式本质上也
记一次SpringBoot服务生产环境内存占用过高的排查
缘起生产环境服务A部署在K8s上,某天运维告诉我这个服务经常会重启,客户没有报告是因为我们是滚动发布更新,先启动这个服务的一个新实例,然后将旧实例Kill掉,这样前端是无感知的,但重启是实实在在存在的,生产问题不可马虎,于是开启了定位问题之旅。过程定位问题