摘要: 越来越多的国内公司使用 SpringCloudAlibaba 技术,其产品 Nacos 功能强大,同时具有注册中心和配置中心的功能。前面的博客已经介绍了如何安装部署 Nacos ,本篇博客就使用之前部署好的 Nacos 集群(当然你也可以部署并使用单节点的 Nacos),介绍 Java 程序代码如何 阅读全文
posted @ 2023-05-22 17:21 乔京飞 阅读(11387) 评论(0) 推荐(0)
摘要: 有了上篇博客的 Nacos 单机部署经验,对于集群搭建就容易多了。 要想搭建 Nacos 集群,至少需要 3 个节点。为了统一访问地址,因此需要使用 nginx 进行转发。 本篇博客仍然采用 Nacos 当前最新的版本 2.2.2 进行集群搭建。Nacos 官网上也有集群搭建的说明,不过有点简略。 阅读全文
posted @ 2023-05-08 22:49 乔京飞 阅读(12207) 评论(0) 推荐(0)
摘要: Nacos 是阿里巴巴的产品,主要用来做微服务的注册中心和配置中心,界面美观,功能强大,在国内非常受欢迎。 本篇博客主要介绍如何搭建单机版的 Nacos ,为编写后续的博客做准备。后面也会介绍 Nacos 集群的搭建,搭建过程都很简单。 官方建议使用 2.x 的版本,本篇博客将以当前最新的 2.2. 阅读全文
posted @ 2023-05-07 21:12 乔京飞 阅读(12797) 评论(0) 推荐(0)
摘要: 现在的项目开发,绝大多数都已经采用前后端分离,前后端开发人员必须依靠接口文档进行协作。当前最流行的文档生成工具就是 Swagger,它是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。但是本篇博客介绍的是 Knife4j ,它是集 Swagger 和 Ope 阅读全文
posted @ 2023-05-03 21:22 乔京飞 阅读(13614) 评论(0) 推荐(0)
摘要: 上一篇博客介绍了 MySQL 的主从复制的搭建,为实现读写分离创造了条件。对于一个网站来说,80% 来源于读操作,绝大多数情况下的网站宕机,都是由于过多的读操作导致的,因此在实际的生产环境中,经常会搭建一主多从的架构,主库只负责写操作,多个从库用来负责读操作,对于少量需要实时获取信息的读操作,可以从 阅读全文
posted @ 2023-05-02 11:56 乔京飞 阅读(11707) 评论(0) 推荐(0)
摘要: MySQL 主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能。就是一台或多台 MySQL 数据库(Slave 库)从另一台 MySQL 数据库(master 库)进行日志的复制,然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySQL 主从复制是My 阅读全文
posted @ 2023-05-01 12:45 乔京飞 阅读(11567) 评论(0) 推荐(0)
摘要: SpriingCache 实现了基于注解的缓存功能,只需要在方法上添加注解即可实现常用的缓存功能,大大简化了的业务代码的实现。SpringCache 默认集成于 SpringContext 中,这意味着对于使用 SpringBoot 框架来说,不需要引入额外的 jar 包即可使用。 SpringCa 阅读全文
posted @ 2023-04-30 20:41 乔京飞 阅读(11399) 评论(0) 推荐(0)
摘要: SpringBoot 底层默认使用 Jackson 进行 Java 实体对象与 Json 之间的转换,有时转换的效果并不是我们所期望的,需要进行额外的处理工作,有经验的小伙伴们,肯定遇到过下面两种典型的情况: 当对象的属性是日期类型时,转换成 json 后的结果并不是我们想要的效果,还需要我们额外进 阅读全文
posted @ 2023-04-13 20:32 乔京飞 阅读(11396) 评论(0) 推荐(0)
摘要: 这里不介绍雪花算法的实现原理,可以自行搜索查阅网上的资料。这里主要介绍雪花算法的使用场景,如何调用第三方类库 Mybatis Plus Core 自带的方法来使用雪花算法。 雪花算法的主要使用场景,就是生成不重复的数字,作为数据库表的主键使用。你可能会使用 uuid 作为主键,但是其占用 16 个字 阅读全文
posted @ 2023-04-02 14:36 乔京飞 阅读(11503) 评论(0) 推荐(0)
摘要: 每个公司根据自身的需要,必然有自己研发的 jar 包,需要在项目之间共享使用。对于企业级项目来说,需要引用的 jar 包数量庞大,而且 jar 包也会不断更新,因此开发人员绝对不可能互相拷贝 jar 包来使用,这样就会造成项目管理和维护上的沉重负担。 使用 Nexus 作为私服就能够很好的解决上述问 阅读全文
posted @ 2023-04-01 19:58 乔京飞 阅读(11520) 评论(0) 推荐(0)
摘要: 现在绝大多数企业,为了保护公司利益,都会在内网进行代码开发,内网肯定是无法上网的。对于 .net 来说,如果能够使内网的机器,通过 Nuget 下载到外网的第三方类库,是一件很重要的事情,这关系着开发工作效率。Nexus 是一款很不错的私服代理工具,能够为 Visual Studio 的 Nuget 阅读全文
posted @ 2023-03-22 21:46 乔京飞 阅读(11588) 评论(0) 推荐(0)
摘要: Nexus 是 Sonatype 公司的一款用于搭建私服的产品,使用非常广泛。不仅可以为 Java 搭建 Maven 私服,也可以为 .net 搭建 Nuget 私服,当然这是后面博客要介绍的,本篇博客主要是介绍 Nexus 私服的安装和自身的配置。下面就介绍一下搭建安装细节,非常简单。 一、下载 阅读全文
posted @ 2023-03-12 20:50 乔京飞 阅读(12193) 评论(0) 推荐(1)
摘要: 工作中很多情况下需要进行精确的小数运算,,在 Java 中使用 float 和 double 这两种浮点数类型进行小数运算时,往往很难达到令人满意的效果,小数点后面总是存在很多位的小数,看起来令人费解,因此不推荐使用这两种浮点数类型进行小数运算。BigDecimal 就是专门用来进行精确计算的,使用 阅读全文
posted @ 2023-01-17 12:27 乔京飞 阅读(11419) 评论(0) 推荐(1)
摘要: SpringCloud Gateway 是目前非常流行的网关中间件,类似于 nginx 一样,主要提供【路由转发】和【负载均衡】功能,目的是为微服务架构提供一种简单而有效的统一的 API 路由管理方式。 我们通常也会在网关中添加【身份认证】和【鉴权】,阻止非法请求访问后端服务。 SpringClou 阅读全文
posted @ 2022-11-21 22:51 乔京飞 阅读(11540) 评论(0) 推荐(0)
摘要: Hystrix 的降级熔断只是被迫的折中方案,并不是我们所期望的结果,我们还是期望系统能够永远健康运行。绝大多数情况下,一个系统有很多微服务组成,高峰期很可能个别微服务会发生降级熔断,我们必须能够通过监控才行,这样才能快速发现并解决问题。 Hystrix 是 Netflix 的产品,其提供的仪表盘监 阅读全文
posted @ 2022-10-05 12:23 乔京飞 阅读(11514) 评论(0) 推荐(0)
摘要: Hystrix 在服务端接口默认开启并支持了熔断机制,可以使用 @HystrixCommand 注解中的 commandProperties 进行熔断参数自定义配置,默认情况下对于一个接口来说,5 秒钟发生 20 次降级,或者失败率达到 50% 时,就会触发熔断机制。 所谓熔断机制,可以举一个简单的 阅读全文
posted @ 2022-09-17 20:51 乔京飞 阅读(11558) 评论(0) 推荐(0)
摘要: 前面已经介绍了 Hystrix 服务端降级的实现方案,本篇博客将介绍 Hystrix 在客户端降级的实现方案。 由于我使用最新版的 SpringCloud(版本 2021.0.3)实现客户端降级没有成功,所以就拿相对比较稳定的 SpringCloud(版本 Hoxton.SR12)和对应的 Spri 阅读全文
posted @ 2022-09-04 22:57 乔京飞 阅读(11376) 评论(0) 推荐(0)
摘要: Hystrix 是 Netflix 公司提供的一个开源免费组件,主要用于降级熔断服务调用,防止系统出现级联失败(也就是通常所说的雪崩)。我们在实际开发中,需要在服务端和客户端都有降级措施,结合后续将要介绍的熔断,最大限度的保护系统的正常运行。 SpringCloud 从 2020.0.1 版本已经移 阅读全文
posted @ 2022-09-03 23:34 乔京飞 阅读(11393) 评论(0) 推荐(0)
摘要: Feign 组件最初由 Netflix 公司提供,由于不支持 SpringMVC 注解,所以 SpringCloud 对其封装并进行支持,因此产生了 OpenFeign 组件。Feign 是一个声明式的 REST 客户端,它采用基于接口的注解方式,具有代码简洁、使用方便的优势。 本篇博客仍然使用最新 阅读全文
posted @ 2022-09-02 12:10 乔京飞 阅读(11412) 评论(0) 推荐(0)
摘要: SpringCloud 在 2020.0.1 版本之前,服务的消费者在引入 spring-cloud-starter-netflix-eureka-client 的依赖后(该依赖内置了 Ribbon 依赖),就可以使用 Ribbon 客户端负载均衡了。Ribbon 支持 10 种客户端负载均衡策略, 阅读全文
posted @ 2022-08-31 13:46 乔京飞 阅读(11501) 评论(0) 推荐(0)