精选文章

查看更多

超级管理员 | 4周前 | 爱组搭

🔥爱组搭文档迁移

爱组搭文档迁移至新地址 http://doc.aizuda.com 原站 aizuda.com 变更为 低代码开源技术交流社区

王磊 | 2周前 | SpringCloud

解决Springcloud Nacos 开发环境多服务在线乱入问题

1、遇到的问题 有A,B,C 三个微服务,在服务器s1上部署,我本地开发A微服务和B微服务接口的时候,希望我自己机器的A能调用的我自己机器的B上来,如果我自己没有启动B在调用到S1的B上去。默认情况下我可能调用了多次B 只有一半几率命中到我自己机器,其他的请求都跑到S1去了。 2、解决思路 一般情况我们使用 ribbon 来做负载均衡,也就是说,具体调用哪个微服务是 ribbon 说了算,我们可以自定义ribbon的负载均衡规则来让他优先将请求命中到我自己这台机器上。 3、自定义规则代码 java / nacos dev环境微服务调度规则 优先同IP,第二同网段 debugger.local-ip 请配置为本机在nacos上的那个IP by 王磊 / public class DevNacosDebuggerRuleConfig extends AbstractLoadBalancerRule { @Value("${debugger.local-ip:}") private String local

苏苏 | 2周前 | Java

后端接口性能差,该从哪些方面进行优化?

前言 作为一个后端开发工程师,我们大部分时间都是在开发业务接口,作为一个资深开发,我们不仅仅是要保证能用就行,更重要的是要保证接口的性能。那么如果接口慢,我们应该从哪些方面对接口进行优化呢? 一:善于使用异步编程 利用多线程实现异步 比较推荐的方式是自定义TreadPool来实现多线程,在Java 8以及8以上的版本,我们也可以使用CompletableFuture来实现异步编程。 注:如果你对线程池还有所疑问,可以看我的另一篇文章,相信会对你有所帮助。 线程池原理分析 使用mq中间件实现异步 现在市面上比较流行的分布式消息中间件有rocketmMq,rabbitMq,kafka等,在Springboot的环境中引入相关的消息中间件也比较简单,这里就不再赘述了。 二:数据量大的时候使用批量与分批操作 1.在查询数据库的时候我们要尽量避免在for循环中操作数据库,尽量使用批量处理来对数据库进行操作。在Mybatis中我们可以使用批量处理器来对数据库进行操作,MybatisPlus甚至为我们封装好了批量处理的API。 2.避免在for循环中进行rpc调用,尽...