一、认识kafkaKafka到底是个啥?用来干嘛的?官方定义如下:Kafkaisusedforbuildingrealtimedatapipelinesandstreamingapps.Itishorizontallyscalable,faulttolerant,wickedfast,andrunsinproductioninthousandsofcompanies.翻译过来,大致的意思就是,这是一个实时数据处理系统,可以横向扩展,并高可靠!实时数据处理,从名字上看,很好理解,就是将数据进行实时处理,在现在流行的微服务开发中,最常用实时数据处理平台有Rab...
2022-10-28 13:45:41 823浏览 0点赞 0回复 0收藏
一、介绍在实际的项目开发中,我们往往需要根据不同的环境做出不同的配置,例如:在开发环境下,我们会使用内存数据库以便快速启动服务并进行开发调试,在test环境、生产环境,会使用对应环境的数据库。如果我们的应用程序可以根据自身的环境做一些这样的适配,那么我们的程序开发无疑将更加灵活、高效。在过去的应用程序开发中,我们常常会将这些环境变量写在某个指定的配置文件中,每次服务器启动的时候,会读取服务器中指定...
2022-10-28 13:45:00 660浏览 0点赞 0回复 0收藏
Hello大家好,我是阿粉,如果对币圈有了解的朋友会知道币圈经常会过山车式的跳水和疯涨,而这种情况发生往往很有可能是伊隆·马斯克发了一条动态导致的。马斯克可以说是很传奇的一个人,这位企业家兼CEO正在通过SpaceX彻底改变航天行业,在特斯拉改变电动汽车的世界,能以一己之力影响币圈,也可以创办SpaceX上太空,还可以创办特斯拉造福人类,不得不说对人类的贡献还是很显著的。这么传奇的一个老板,是怎么看待公司员工的呢...
2022-10-28 13:44:16 1288浏览 0点赞 0回复 0收藏
前段时间,公司说要做技术分享,于是每周都会安排同事进行技术方面的分享,虽然有时候大部分的人在玩手机,有些同事也在专心致志的在学习,毕竟程序员永远都是保持在学习写代码的路上,JDK都出到16了,尽管你可能现在还是在使用JDK8但是还是要继续学习呀。于是阿粉就准备研究一些公司目前没有用到的关系,就学习了一下Activity工作流的相关知识,在这里阿粉也分享给大家。什么是Activity工作流引擎什么是工作流,比如说,我们在...
2022-10-28 13:43:36 988浏览 0点赞 0回复 0收藏
阿粉最近迷上了Redis,为什么呢?感觉Redis确实功能很强大呀,一个基于内存的KeyValue存储的数据库,竟然有这么多的功能,而阿粉也要实实在在的把Redis来弄一下,毕竟面试的时候,Redis可以说是一个非常不错的加分项。分布式锁为什么需要分布式锁?目前很多的大型项目全部都是基于分布式的,而分布式场景中的数据一致性问题一直是一个不可忽视的问题,大家知道关于分布式的CAP理论么?CAP理论就是说任何一个分布式系统都无法同...
2022-10-28 13:42:40 646浏览 0点赞 0回复 0收藏
前段时间阿粉想着如何去优化我们公司中已经存在的分布式中的唯一ID,而提起唯一的ID,相信如果不是从事传统行业的人,肯定都有所了解,分布式架构下,唯一ID生成方案,是我们在设计一个系统,尤其是数据库使用分库分表的时候常常会遇见的问题,尤其是当我们进行了分库分表之后,对这个唯一ID的要求也就越来越高。那么唯一ID方案都有哪些呢?分布式全局唯一ID往往一谈分布式,总是会色变,因为在很多面试的时候,都会问你,会不会...
2022-10-28 13:42:06 706浏览 0点赞 0回复 0收藏
Hello大家好,我是阿粉,Redis作为工作中不可缺少的缓存组件,相信很多小伙伴都会使用到,我们日常使用的时候都是通过代码或者客户端去链接Redis服务器来操作数据的。那么一条简单的setnameziyou命令是如何执行的,中间都经历了哪些过程想必很少会有人去了解。今天阿粉就带大家看一下一条简单的setnameziyou命令是如何执行的。我们可以看到在执行setnameziyou这个命令过后,先显示一个OK在...
2022-10-28 13:41:06 596浏览 0点赞 0回复 0收藏
在大家开发的时候,很多时候不是说,有人告诉你已经完全的设计好数据库了,也没有专门的人去管理数据库表设计这块的内容,而阿粉的朋友就是这么悲催,接手了公司一个同事的一个比较重要的功能,而阿粉的朋友也没有重新进行设计,于是就出现了这样的一幕。你设计的这是啥?领导:你数据库设计的软删除呢?Delete就直接给我删了?万一到时候用户反悔了,想查询某项数据怎么办?我:........(内心OS:这特么不是我设计的好不)领导...
2022-10-28 13:40:13 400浏览 0点赞 0回复 0收藏
Hello大家好,我是阿粉,日常工作中很多时候我们都需要同事间的相互配合协作完成某些功能,所以我们经常会遇到服务或者应用内不同模块之间要互相依赖的场景。比如下面的场景,serviceA中的methodA()方式依赖serviceB中的methodB()方法返回操作的结果。那如果我们要对自己的methodA()方法进行编写单元测试,还需要等其他同事的methodB()方法开发完成才行。那有没有什么办法我们...
2022-10-28 13:39:18 818浏览 0点赞 0回复 0收藏
Hello大家好,我是阿粉,工作中我们经常会遇到很多需要上级或者上级的上级一层层审批的流程,作为程序员如果要让你实现这个流程,你会采用什么方式呢?好了思考一分钟结束,很显然大家一致的回答就是责任链模式。那么什么是责任链模式呢?如何使用责任链模式去完成这个流程呢?下面我们来看一下。需求分析开发之前的第一步是需求分析,我们这个场景是这样的,阿粉准备跟领导A申请一下涨薪,最满意的结果当时是直接跟上级领导A申...
2022-10-28 11:52:01 588浏览 0点赞 0回复 0收藏
最近在写IO的这块的内容,于是就免不了去研究IO,NIO,AIO,在看NIO的时候,阿粉就发现了一个极其好的东西,那就是Netty,为什么说他好呢大家就跟着阿粉来深度认识一下Netty吧。什么是Netty我们先看看百度百科给我们的解释,什么是Netty百度百科:Netty是由JBOSS提供的一个java开源框架,现为Github上的独立项目。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。...
2022-10-28 11:50:21 897浏览 0点赞 0回复 0收藏
看完本文,你一定会有所收获一、介绍在上篇文章中,我们简单的介绍了excel导入导出技术实践方案,就目前而已,使用最多的开源框架主要有以下三类,分别是:apachepoi:poi是使用最广的一种导入导出框架,但是缺点也很明显,导出大数据量的时候,容易oomeasypoi:easypoi的底层也是基于apachepoi进行深度开发的,它主要的特点就是将更多重复的工作,全部简单化,避免编写重复的代码,最显著的特点就是导出的支持非常丰富easyexce...
2022-10-28 11:49:40 2812浏览 0点赞 0回复 0收藏
Hello大家好,我是阿粉,前面的文章给大家介绍了一下如何在本地搭建微服务环境下的服务注册中心和配置管理中心Nacos,今天通过我们通过使用SpringBoot项目集成Nacos来给大家演示一下是如何使用Nacos来实现服务发现和配置管理的。启动Nacos服务启动完本地搭建的Nacos服务后,我们可以看到,目前的服务管理下面的服务列表里面在三个命名空间下都没有服务,这是正常的,因为目前...
2022-10-28 11:48:46 1203浏览 0点赞 0回复 0收藏
因为最近阿粉一直在做接口开发,前后端分离的项目,阿粉在之前也看过关于swagger,但是阿粉没有用,毕竟弄这个东西,还需要leader批示,加出问题来了,还容易背锅,于是阿粉就开始找能够快速生成接口文档的工具,终于,阿粉成功找到了一个比postman还要好用的工具,即可以做接口的测试,还能生成接口文档。RunApirunapi是一个以接口为核心的开发测试工具(功能上类似一个简化版的postman)。目前有客户端版(推荐,支持win和mac...
2022-10-28 11:48:00 1429浏览 0点赞 0回复 0收藏
一、介绍我们都知道,从Java8开始,jdk新增加了一个Stream类,用来补充集合类,它的强大,相信用过它的朋友,能明显的感受到,不用使用for循环就能对集合作出很好的操作。Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象。这种风格将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理,比如筛选,排序,聚合等。元素流在管道中经过中间操作(inter...
2022-10-28 11:46:46 1019浏览 0点赞 0回复 0收藏
看完本文,你一定会有所收获一、摘要在日常开发中,数据库中主键id的生成方案,主要有三种数据库自增ID采用随机数生成不重复的ID采用jdk提供的uuid对于这三种方案,我发现在数据量少的情况下,没有特别的差异,但是当单表的数据量达到百万级以上时候,他们的性能有着显著的区别,光说理论不行,还得看实际程序测试,今天小编就带着大家一探究竟!二、程序实例首先,我们在本地数据库中创建三张单表tbuuid1、tbuui...
2022-10-28 11:46:01 742浏览 0点赞 0回复 0收藏
Hello大家好,我是阿粉,现如今微服务早就成为每个互联网公司必备的架构,在微服务中服务的注册发现和统一配置中心是不可或缺的重要角色。现有的服务注册中心主要有ZooKeeper、Eureka、Consul,Etcd、Nacos,而统一配置中心主要有Apollo,SpringCloudConfig,Disconf,Nacos可以看到服务注册中心和统一配置管理...
2022-10-28 11:44:06 1362浏览 0点赞 0回复 0收藏
Hello大家好,我是阿粉,关于TCP的三次握手和四次挥手相比大家早就烂熟于心了,毕竟这也是一个高频的面试题,但是很多小伙伴只是照本宣科,并没有真正的理解其中的原理,这篇文章,阿粉用通俗易懂的大白话带你们重新熟悉一下,已经掌握的小伙伴可以在回味一下,没有掌握的小伙伴刚好可以查漏补缺。三次握手再解释三次握手之前我们先从生活中想一个场景,假如你现在需要给领导打个电话汇报一下工作,为了保证双方能正常交流,那...
2022-10-28 11:43:17 793浏览 0点赞 0回复 0收藏
阿粉之前已经是教给大家如何安装RabbitMQ,如何写一个生产者,如何写一个消费者,而接下来的这篇文章,详细讲解一下如何使用队列和交换机进行不同的发布消息以及消费消息,以及怎么整合SpringBoot和RabbitMQ以及他们的工作模式吧。1.简单消息模式下面阿粉就只用一个项目把所有类型的交换机全部都加入到一个SpringBoot项目中来,我们首先需要创建的就是一个Config类,而这个Config类中将会把所有的工作模式集中在这里。创建个Spr...
2022-10-28 11:42:26 907浏览 0点赞 0回复 0收藏
前几天阿粉在看关于如何处理分布式事务的解决方案,于是就看到了关于使用最大努力通知来处理分布式事务的问题,而这其中最不可或缺的就是消息中间件了,那么什么是消息中间件呢?为什么有消息中间件前几天阿粉在看关于如何处理分布式事务的解决方案,于是就看到了关于使用最大努力通知来处理分布式事务的问题,而这其中最不可或缺的就是消息中间件了,那么什么是消息中间件呢?1.什么是消息中间件在百度百科给出的解释是:消息...
2022-10-28 11:40:44 696浏览 0点赞 0回复 0收藏