摘要: Mongodb 是最像关系型数据库的 NoSql 数据库,其数据类型非常丰富,数据结构松散,采用类似 Json 的 Bson 二进制格式存储数据,还支持对索引功能。主要应用在数据量大、读多写少或者读写都比较频繁、数据价值较低的场景中,如果社交平台的点赞和评论、游戏、物流信息和轨迹存储等。 由于在企业 阅读全文
posted @ 2023-08-13 13:56 乔京飞 阅读(15973) 评论(0) 推荐(2) 编辑
摘要: 我们在工作中经常会遇到这样的场景,我们写了很多非常实用的工具类,这些类在多个项目工程中使用非常频繁。如果在每个要使用的项目工程中都去编写加载 bean 的代码的话,那么重复的代码就太多了。如果你想追求完美只写一份代码的话,使用 SpringBoot 的自动装载的特性是一个很不错的方案选择。 本篇博客 阅读全文
posted @ 2023-07-23 12:33 乔京飞 阅读(10962) 评论(0) 推荐(0) 编辑
摘要: SpringCloud 是当前比较流行的微服务开发框架,因此很有必要介绍一下 SpringCloud 集成和使用 Dubbo 技术。本篇博客在上一篇博客的 Demo 基础上,对 pom 文件和 yml 配置文件进行了修改,就可以完成 SpringCloud 集成和使用 Dubbo 的 Demo。是的 阅读全文
posted @ 2023-07-15 21:26 乔京飞 阅读(11444) 评论(0) 推荐(0) 编辑
摘要: Dubbo 是阿里开源的产品,采用二进制通信,相比 OpenFeign 的 http 通信,具有性能优势,可以轻松集成到 SpringBoot 和 Spring Cloud 中使用,对于性能要求比较高的场景,使用比较广泛。早期的 Dubbo 都采用 Zookeeper 作为注册中心,现在基本上大家都 阅读全文
posted @ 2023-07-11 22:33 乔京飞 阅读(11045) 评论(0) 推荐(1) 编辑
摘要: RabbitMQ 采用 Erlang 语言开发,同时具有高可用性、高可靠性、消息低延迟,支持的多种开发语言的等优点,是当前比较流行的综合性最好的消息队列。当然有些杠精肯定会拿 RocketMQ 和 Kafka 等消息队列的相关性能跟 RabbitMQ 进行对比说事儿,这里不进行评价,你们这些杠精开心 阅读全文
posted @ 2023-06-23 20:48 乔京飞 阅读(11400) 评论(0) 推荐(0) 编辑
摘要: 我们获取镜像,绝大多数情况下,从 Docker 官方仓库或者知名第三方仓库(如阿里云)中获取,但是对于公司内基于自身的业务生成的 Docker 镜像,很有可能涉及到商业利益,肯定不能对外公开,因此需要存放在公司的 Docker 私有镜像仓库中。 有关 Docker 的私有仓库的搭建过程,也非常简单, 阅读全文
posted @ 2023-06-14 19:47 乔京飞 阅读(13152) 评论(0) 推荐(0) 编辑
摘要: 对于一些常用的 Docker 镜像,我们可以从 Docker 官方仓库或者国内的阿里云仓库中获取,比如 mysql、redis、nginx 等等。但是对于一些我们自己开发的程序,要想很方便的在 Docker 中部署,还是需要自己制作镜像。 这里不介绍 Docker 常用命令的使用,网上学习资料很多, 阅读全文
posted @ 2023-06-07 19:53 乔京飞 阅读(11093) 评论(0) 推荐(0) 编辑
摘要: 从 Docker 官网上也能够找到 CentOS7 安装 Docker 的文档,但是文档比较简略,为了能够在安装过程中少走一些弯路,还是很有必要写一下 Docker 安装的博客总结,方便后续提高工作效率。 CentOS7 安装 Docker 的官网文档地址为:https://docs.docker. 阅读全文
posted @ 2023-06-06 12:31 乔京飞 阅读(11332) 评论(0) 推荐(0) 编辑
摘要: 最近工作遇到这样的情景:一大堆 linux 内网服务器,上面部署了 mysql,nacos,xxl job 等中间件,当然也给了一个很干净的 windows 内网服务器,什么软件都没有安装。比较欣慰的是:可以通过浏览器访问 nacos、xxl job 的管理页面。不幸的是:没有安装 mysql 客户 阅读全文
posted @ 2023-06-05 19:29 乔京飞 阅读(10755) 评论(0) 推荐(0) 编辑
摘要: Nacos 不但可以作为注册中心,同时也可以作为配置中心,方便我们对 SpringCloud 中的各个 SpringBoot 微服务的配置进行统一的管理维护。尤其是当微服务数量较多,并且在不同的服务器上进行部署时,使用配置中心进行统一管理维护的优势就更加明显。 本篇博客仍然使用之前搭建的 Nacos 阅读全文
posted @ 2023-05-28 12:33 乔京飞 阅读(11850) 评论(0) 推荐(0) 编辑
摘要: 越来越多的国内公司使用 SpringCloudAlibaba 技术,其产品 Nacos 功能强大,同时具有注册中心和配置中心的功能。前面的博客已经介绍了如何安装部署 Nacos ,本篇博客就使用之前部署好的 Nacos 集群(当然你也可以部署并使用单节点的 Nacos),介绍 Java 程序代码如何 阅读全文
posted @ 2023-05-22 17:21 乔京飞 阅读(10586) 评论(0) 推荐(0) 编辑
摘要: 有了上篇博客的 Nacos 单机部署经验,对于集群搭建就容易多了。 要想搭建 Nacos 集群,至少需要 3 个节点。为了统一访问地址,因此需要使用 nginx 进行转发。 本篇博客仍然采用 Nacos 当前最新的版本 2.2.2 进行集群搭建。Nacos 官网上也有集群搭建的说明,不过有点简略。 阅读全文
posted @ 2023-05-08 22:49 乔京飞 阅读(11333) 评论(0) 推荐(0) 编辑
摘要: Nacos 是阿里巴巴的产品,主要用来做微服务的注册中心和配置中心,界面美观,功能强大,在国内非常受欢迎。 本篇博客主要介绍如何搭建单机版的 Nacos ,为编写后续的博客做准备。后面也会介绍 Nacos 集群的搭建,搭建过程都很简单。 官方建议使用 2.x 的版本,本篇博客将以当前最新的 2.2. 阅读全文
posted @ 2023-05-07 21:12 乔京飞 阅读(11544) 评论(0) 推荐(0) 编辑
摘要: 现在的项目开发,绝大多数都已经采用前后端分离,前后端开发人员必须依靠接口文档进行协作。当前最流行的文档生成工具就是 Swagger,它是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。但是本篇博客介绍的是 Knife4j ,它是集 Swagger 和 Ope 阅读全文
posted @ 2023-05-03 21:22 乔京飞 阅读(11726) 评论(0) 推荐(0) 编辑
摘要: 上一篇博客介绍了 MySQL 的主从复制的搭建,为实现读写分离创造了条件。对于一个网站来说,80% 来源于读操作,绝大多数情况下的网站宕机,都是由于过多的读操作导致的,因此在实际的生产环境中,经常会搭建一主多从的架构,主库只负责写操作,多个从库用来负责读操作,对于少量需要实时获取信息的读操作,可以从 阅读全文
posted @ 2023-05-02 11:56 乔京飞 阅读(11111) 评论(0) 推荐(0) 编辑
摘要: MySQL 主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能。就是一台或多台 MySQL 数据库(Slave 库)从另一台 MySQL 数据库(master 库)进行日志的复制,然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySQL 主从复制是My 阅读全文
posted @ 2023-05-01 12:45 乔京飞 阅读(10739) 评论(0) 推荐(0) 编辑
摘要: SpriingCache 实现了基于注解的缓存功能,只需要在方法上添加注解即可实现常用的缓存功能,大大简化了的业务代码的实现。SpringCache 默认集成于 SpringContext 中,这意味着对于使用 SpringBoot 框架来说,不需要引入额外的 jar 包即可使用。 SpringCa 阅读全文
posted @ 2023-04-30 20:41 乔京飞 阅读(10429) 评论(0) 推荐(0) 编辑
摘要: SpringBoot 底层默认使用 Jackson 进行 Java 实体对象与 Json 之间的转换,有时转换的效果并不是我们所期望的,需要进行额外的处理工作,有经验的小伙伴们,肯定遇到过下面两种典型的情况: 当对象的属性是日期类型时,转换成 json 后的结果并不是我们想要的效果,还需要我们额外进 阅读全文
posted @ 2023-04-13 20:32 乔京飞 阅读(11100) 评论(0) 推荐(0) 编辑
摘要: 这里不介绍雪花算法的实现原理,可以自行搜索查阅网上的资料。这里主要介绍雪花算法的使用场景,如何调用第三方类库 Mybatis Plus Core 自带的方法来使用雪花算法。 雪花算法的主要使用场景,就是生成不重复的数字,作为数据库表的主键使用。你可能会使用 uuid 作为主键,但是其占用 16 个字 阅读全文
posted @ 2023-04-02 14:36 乔京飞 阅读(10650) 评论(0) 推荐(0) 编辑
摘要: 每个公司根据自身的需要,必然有自己研发的 jar 包,需要在项目之间共享使用。对于企业级项目来说,需要引用的 jar 包数量庞大,而且 jar 包也会不断更新,因此开发人员绝对不可能互相拷贝 jar 包来使用,这样就会造成项目管理和维护上的沉重负担。 使用 Nexus 作为私服就能够很好的解决上述问 阅读全文
posted @ 2023-04-01 19:58 乔京飞 阅读(11002) 评论(0) 推荐(0) 编辑