![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 82
智慧zhuhuix
这个作者很懒,什么都没留下…
展开
-
Vue项目实战篇一:实现一个完整的留言板(带前后端源码下载)
Vue基础篇一:编写第一个Vue程序Vue基础篇二:Vue组件的核心概念Vue基础篇三:Vue的计算属性与侦听器Vue基础篇四:Vue的生命周期(秒杀案例实战)Vue基础篇五:Vue的指令Vue基础篇六:Vue使用JSX进行动态渲染Vue提高篇一:使用Vuex进行状态管理Vue提高篇二:使用vue-router实现静态路由Vue提高篇三:使用vue-router实现动态路由Vue提高篇四:使用Element UI组件库Vue提高篇五:使用Jest进行单元测试Vue提高篇六: 使用Vet原创 2022-06-15 08:47:10 · 6885 阅读 · 12 评论 -
Vue实战篇二十六:创建动态仪表盘
上一期的实战,我们借助ECharts开源可视化图表库实现一个疫情折线图。本期我们将引入计数器,结合上期实现的折线图,创建一个动态仪表盘。原创 2022-05-02 17:31:39 · 2794 阅读 · 0 评论 -
Vue实战篇二十四:分页显示
系列文章目录Vue基础篇一:编写第一个Vue程序Vue基础篇二:Vue组件的核心概念Vue基础篇三:Vue的计算属性与侦听器Vue基础篇四:Vue的生命周期(秒杀案例实战)Vue基础篇五:Vue的指令Vue基础篇六:Vue使用JSX进行动态渲染Vue提高篇一:使用Vuex进行状态管理Vue提高篇二:使用vue-router实现静态路由Vue提高篇三:使用vue-router实现动态路由Vue提高篇四:使用Element UI组件库Vue提高篇五:使用Jest进行单元测试Vue提高篇六原创 2022-04-09 11:02:12 · 5883 阅读 · 3 评论 -
手把手教你通过ElasticSearch、FSCrawler及 SearchUI搭建文件搜索引擎
文章目录一、需求一、需求公司内部存在大量的设备保修保养文件,原创 2021-11-27 10:53:49 · 4222 阅读 · 12 评论 -
SpringBoot整合SpringSecurity实现权限控制(九):快速实现页面缓存
系列文章目录《SpringBoot整合SpringSecurity实现权限控制(一):实现原理》《SpringBoot整合SpringSecurity实现权限控制(二):权限数据基本模型设计》《SpringBoot整合SpringSecurity实现权限控制(三):前端动态装载路由与菜单》《SpringBoot整合SpringSecurity实现权限控制(四):角色管理》《SpringBoot整合SpringSecurity实现权限控制(五):用户管理》《SpringBoot整合SpringSe原创 2021-11-17 12:37:17 · 1373 阅读 · 6 评论 -
SpringBoot整合SpringSecurity实现权限控制(八):实现多标签页
系列文章目录《SpringBoot整合SpringSecurity实现权限控制(一):实现原理》《SpringBoot整合SpringSecurity实现权限控制(二):权限数据基本模型设计》《SpringBoot整合SpringSecurity实现权限控制(三):前端动态装载路由与菜单》《SpringBoot整合SpringSecurity实现权限控制(四):角色管理》《SpringBoot整合SpringSecurity实现权限控制(五):用户管理》《SpringBoot整合SpringSe原创 2021-11-10 14:48:47 · 1186 阅读 · 0 评论 -
SpringBoot整合SpringSecurity实现权限控制(七):权限分配
系列文章目录《SpringBoot整合SpringSecurity实现权限控制(一):实现原理》《SpringBoot整合SpringSecurity实现权限控制(二):权限数据基本模型设计》《SpringBoot整合SpringSecurity实现权限控制(三):前端动态装载路由与菜单》《SpringBoot整合SpringSecurity实现权限控制(四):角色管理》《SpringBoot整合SpringSecurity实现权限控制(五):用户管理》《SpringBoot整合SpringSe原创 2021-10-28 09:00:00 · 11888 阅读 · 2 评论 -
SpringBoot整合SpringSecurity实现权限控制(六):菜单管理
系列文章目录《SpringBoot整合SpringSecurity实现权限控制(一):实现原理》《SpringBoot整合SpringSecurity实现权限控制(二):权限数据基本模型设计》《SpringBoot整合SpringSecurity实现权限控制(三):前端动态装载路由与菜单》《SpringBoot整合SpringSecurity实现权限控制(四):角色管理》《SpringBoot整合SpringSecurity实现权限控制(五):用户管理》本文目录一、前言二、需求分析三、后端原创 2021-10-22 15:48:02 · 7937 阅读 · 9 评论 -
SpringBoot整合SpringSecurity实现权限控制(五):用户管理
系列文章目录《SpringBoot整合SpringSecurity实现权限控制(一):实现原理》《SpringBoot整合SpringSecurity实现权限控制(二):权限数据基本模型设计》《SpringBoot整合SpringSecurity实现权限控制(三):前端动态装载路由与菜单》《SpringBoot整合SpringSecurity实现权限控制(四):角色管理》本文目录一、前言一、前言...原创 2021-10-08 08:53:22 · 2456 阅读 · 0 评论 -
SpringBoot整合SpringSecurity实现权限控制(四):角色管理
系列文章目录《SpringBoot整合SpringSecurity实现权限控制(一):实现原理》《SpringBoot整合SpringSecurity实现权限控制(二):权限数据基本模型设计》《SpringBoot整合SpringSecurity实现权限控制(三):前端动态装载路由与菜单》本文目录一、前言一、前言...原创 2021-09-22 16:45:20 · 6014 阅读 · 8 评论 -
Mybastis-plus逻辑删除实例演示
一、背景在实际项目中,有些后台关键表的数据我们不希望直接删除数据,而是利用某个字段标志来标记是否进行了逻辑删除:– 比如用户表利用enabled字段标记该行数据是否失效:( enabled=0 代表逻辑已删除, enabled=1 代表数据有效,逻辑未删除 )public class SysUser implements Serializable { @TableId(value = "id", type = IdType.AUTO) private Long id;原创 2021-09-13 15:32:54 · 218 阅读 · 0 评论 -
SpringBoot整合SpringSecurity实现权限控制(三):前端动态装载路由与菜单(附源码)
系列文章目录《SpringBoot整合SpringSecurity实现权限控制(一):实现原理》《SpringBoot整合SpringSecurity实现权限控制(二):权限数据基本模型设计》本文目录一、前言二、数据准备三、编写后端接口一、前言在上篇文章中我们通过 RBAC( Role-Based Access Control:基于角色的访问控制策略)进行权限模型设计,并设计了以下表:本章中前端将通过访问后端接口,拉取用户对应的权限数据,实现动态装载菜单。二、数据准备由于后原创 2021-09-11 09:17:09 · 3528 阅读 · 1 评论 -
SpringBoot整合SpringSecurity实现权限控制(二):权限数据基本模型设计
系列文章目录《SpringBoot整合SpringSecurity实现权限控制(一):实现原理》本文目录前言一、RBAC是什么?二、数据模型三、数据模型的测试前言在上篇文章中我们仅仅使用了静态权限数据进行了模拟测试。实际正常情况的流程是:由管理员给用户分配权限,权限数据写到数据库中。后台服务在进行用户认证时从数据库读取用户的权限数据(动态数据)。本文将通过 RBAC( Role-Based Access Control:基于角色的访问控制策略)进行权限模型设计一、RBA原创 2021-08-24 17:36:14 · 2923 阅读 · 0 评论 -
SpringBoot整合SpringSecurity实现权限控制(一)
文章目录一、前言二、实现原理三、具体实现3.1 给后台方法加上权限控制3.2 后台服务在生成JWT令牌时写入用户所拥有的权限四、跟踪jwt 令牌包含权限一、前言在《手把手教你通过SpringBoot实现邮箱注册码验证》文章中实现了基于邮箱的用户登录认证。在《Vue+SpringBoot 实现用户头像上传(附前后端源码)》文章中又添加了更新用户头像的方法与功能。为了安全起见,除了以上必备的用户认证(登录)识别用户是否合法外,还需要根据权限来控制用户是否能够执行某项操作。比如说我们希望给上传用户头像的原创 2021-08-23 16:48:12 · 5402 阅读 · 0 评论 -
Vue+SpringBoot 实现用户头像上传(附前后端源码)
文章目录一、背景二、vue-image-crop-upload组件三、编写前端上传头像功能四、编写后台上传用户头像接口4.1 实现前端组件上传过来的头像文件保存到服务器上4.2 将保存在服务器上的用户头像路径存放到用户信息表中4.3 编写用户更新头像信息API五、前后端联调六、源码一、背景后台系统一般会有用户个人信息的模块(见下图),为了增强用户的体验度,系统会开放自定义头像的功能,让用户可以上传自定义图片替代默认的系统头像。本文将通过Vue+SpringBoot来具体实现。二、vue-imag原创 2021-08-19 12:33:49 · 13367 阅读 · 8 评论 -
手把手教你通过SpringBoot实现邮箱注册码验证
一、前言注册一个系统成为用户,一般会要求用户留下一个邮件地址作为联系方式,就象我们去银行开户时银行会让我们留个手机号码一样。为了证明注册的邮箱地址是本人的,系统会向邮箱发送一串验证码,用户收取该验证码后在注册页面上输入验证码连同其他信息发往后台进行验证。...原创 2021-08-17 13:28:06 · 13727 阅读 · 7 评论 -
使用lombok插件实现时间字段的默认值
一、背景有时候我们在向数据库表中增加记录时,希望不需要编写代码就能实现某个字段值的插入。比如以下表中的create_time时间字段,增加记录时默认插入当时最新时间。二、lombok实现可以通过lombok插件的@Builder.Default注解实现:/** * 用户表 * * @author zhuhuix * @date 2020-04-03 */@ApiModel(value = "用户信息")@Data@SuperBuilder@NoArgsConstructo原创 2021-08-04 15:21:00 · 2277 阅读 · 0 评论 -
设计模式十四:用一个请假流程的例子说清楚责任链模式
文章目录一、背景二、请假流程三、请假测试4、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》设计模式八:《用一个银行存取款的例子说清楚模板方法模式》设计模式九:《研究Ja原创 2021-06-08 12:46:29 · 498 阅读 · 0 评论 -
设计模式十三:用一个组配吃鸡电脑的例子说清楚建造者模式
文章目录一、背景二、实现三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》设计模式八:《用一个银行存取款的例子说清楚模板方法模式》设计模式九:《研究Java集合类的It原创 2021-05-25 11:27:54 · 289 阅读 · 0 评论 -
设计模式十二:用一个中介卖房的例子说清楚代理模式
文章目录一、背景代理模式三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》设计模式八:《用一个银行存取款的例子说清楚模板方法模式》设计模式九:《研究Java集合类的It原创 2021-05-18 16:41:25 · 311 阅读 · 0 评论 -
设计模式十一:用一个快递包裹的例子说清楚状态模式
文章目录一、背景二、状态模式三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》设计模式八:《用一个银行存取款的例子说清楚模板方法模式》设计模式九:《研究Java集合类的原创 2021-05-14 08:06:04 · 416 阅读 · 0 评论 -
设计模式十:用一个组织架构的例子说清楚组合模式
文章目录一、定义二、实现三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》设计模式八:《用一个银行存取款的例子说清楚模板方法模式》设计模式九:《研究Java集合类的It原创 2021-05-04 10:55:02 · 288 阅读 · 0 评论 -
设计模式九:研究Java集合类的Iterator迭代器理解迭代器模式
文章目录一、背景二、Java集合常用类2.1、Iterator迭代器的实现原理2.2、Iterator迭代器的实际使用三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》设原创 2021-04-29 11:51:11 · 180 阅读 · 0 评论 -
Kettle连接mysql8数据库报错的解决方法
一、错误问题在使用kettle建立与myslq8连接时会报以下错误:org.pentaho.di.core.exception.KettleDatabaseException: Error occurre...二、解决方法下载驱动将文件mysql-connector-java-8.0.17.jar放到kettle安装文件中的lib下面重启Spoon,进行连接测试,连接成功...原创 2021-04-24 14:57:48 · 840 阅读 · 0 评论 -
设计模式八:用一个银行存取款的例子说清楚模板方法模式
文章目录一、定义二、实例三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》一、定义模板方法模式是一种比较好理解的设计模式,其核心思想就是由超类(一般为抽象类)定义一个原创 2021-04-22 11:49:32 · 834 阅读 · 1 评论 -
设计模式七:用一个USB转换器的例子说清楚适配器模式
文章目录一、 背景二、 USB适配器三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》一、 背景适配器模式是一个比较好理解的设计模式:其核心思想就是创建一个适配器对象(考虑到JAVA没有多重继承的特性,我们这里只介绍对象适配原创 2021-04-16 13:08:29 · 343 阅读 · 0 评论 -
设计模式六:用一个遥控开关的例子说清楚命令模式
文章目录一、背景二、场景模拟三、用命令模式设计一个遥控开关四、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》一、背景对于设计模式的理解,最关键的是要确定运用的场景,比如今天我们要学习的命令模式 ,需要把特命令包裹在对象中,并将其做特有的封装并传给请求者,实现命令请求者与命令实原创 2021-04-08 11:46:13 · 277 阅读 · 0 评论 -
设计模式二补充:使用JDK内置API实现观察者模式
文章目录一、背景二、JDK API三、代码实战四、总结一、背景在《设计模式二:用一个股票买卖的例子说清楚观察者模式》这篇文章中,我们自行实现了观察者(投资者)与被观察者对象(股票);本文将利用JDK内置的API来实现观察者模式,加深对此设计模式的理解。二、JDK API通过继承java.util.Observable类就可以实现被观察者对象;通过实现java.util.Observer接口就可以实现观察者对象。* @author Chris Warth * @see java原创 2021-04-05 11:49:33 · 284 阅读 · 0 评论 -
设计模式五:用不同的实现方式创建单例模式
文章目录一、背景二、单例模式的注意点2.1 急切式或饿汉式创建2.2 延迟式或懒汉式创建2.3、双重检查加锁三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》一、背景单例模式保证在程序运行过程中一个类只有一个实例,并提供一个全局访问点。单例模式是相对简单的设计模式,但在实现单例模式时需要注意不少细节。二、单例模式的原创 2021-04-01 14:58:34 · 188 阅读 · 0 评论 -
设计模式四:用一个生产手机的简单例子说清楚工厂模式
文章目录一、前言二、工厂模式三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》一、前言在前面三篇文章中,我们接触到的策略模式、观察者模式、装饰者模式主要解决的是封装变化、类之间的解耦、增强扩展性等这一类问题。本章我们将学习一种新的设计模式:工厂模式。二、工厂模式从字面上看,称之为工厂,是要创建产品的,也即工厂模式是一种创建型模式。我们先举一个简单的例子:定原创 2021-03-31 13:36:03 · 539 阅读 · 0 评论 -
设计模式三:用一个苏式面条的实例说清楚装饰者模式
文章目录一、前言二、苏式面条三、装饰者模式四、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》一、前言我们回顾一下策略模式与观察者模式:策略模式:把变化的东西独立出来,形成算法族,通过实现接口形成算法的封装与使用。观察者模式:将紧密结合的对象进行解耦,形成目标对象与观察者对象,当目标对象的状态发生变化时,观察者对象都会收到通知。本篇文章在继续用此方式探索装饰者模式的使用场景。二、苏式面条苏式面条好吃,关键就原创 2021-03-24 14:22:08 · 257 阅读 · 0 评论 -
设计模式二:用一个股票买卖的例子说清楚观察者模式
文章目录一、前言二、观察者模式三、实际案例设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》一、前言在上篇文章中,我们用一个实例及其代码,演示了策略模式的应用场景;本篇文章在继续用此方式探索观察者模式的使用场景。二、观察者模式观察者模式实际上表述得是两种对象的依赖关系:一种对象称之为目标对象(一般为一个),另一种对象称之为观察者对象(可以是一个也可以是多个),当目标对象的状态发生变化,则观察者对象都会收到通知。三、实际案例以下将举一个股票买卖的例子,来说明清楚观察者模原创 2021-03-22 16:30:04 · 797 阅读 · 0 评论 -
用一个营销策略的实例说清楚策略模式的应用场景
文章目录一、背景二、策略模式2.1 未用设计模式2.2 采用设计模式三、总结一、背景作为一个开发人员,需要掌握面向对象开发各种基础知识,同时也需要了解各种设计原则与设计模式;熟练掌握设计模式,可以让我们开发出复用高,扩展性强、易于维护的系统。掌握设计模式的理论知识不难,难就难在怎么在实际项目中具体应用,或者说哪个应用场景适合应用哪个设计模式。本文将通过一个实际的营销策略实际来说明策略模式的具体适用场景二、策略模式策略模式(Strategy Pattern)是一种比较简单的设计模式,其核心思原创 2021-03-19 15:52:59 · 449 阅读 · 0 评论 -
使用Jedis客户端操作Redis缓存
文章目录一、背景二、连接配置三、Jedis工具类一、背景通过前面一系列文章,我们仅仅了解了Redis缓存服务的安装及相应配置,而往往在实际的项目编程中是需要一定的客户端来操作Redis的。Jedis是一个非常小而灵巧且易于使用的Redis Java客户端。Jedis GitHub地址本篇文章将通过Java Maven项目介绍Jedis的一些基本操作。二、连接配置首先创建一个Java Maven项目,通过maven引入Jedis的依赖包 <dependency>原创 2021-01-30 11:51:25 · 356 阅读 · 2 评论 -
Redis项目应用场景与实例汇总
文章目录一、背景1.1 开发环境1.2 项目配置二、字符串的应用场景:封锁一个IP地址三、Hash的应用场景:存储用户信息四、List的应用场景:队列实现五、Set的应用场景:自动去重一、背景本篇文章是将以前Redis实战的系列文章进行汇总,针对Redis中常用的一些数据结构,进行实战模拟。stringshasheslistssetssorted sets封锁一个IP地址存储用户信息模拟消息队列自动排重以某一个条件为权重,进行排序1.1 开发环境JD原创 2021-01-25 16:10:29 · 6693 阅读 · 0 评论 -
SpringBoot整合Redis并实现Redis工具类
文章目录一、前言二、目录1.创建SpringBoot工程2.导入Redis的相关依赖3. 进行Redis配置并编写自己的RedisTemplate4. 构建Redis工具类5. 编写应用进行测试六、源码一、前言Redis是一个高性能的key-value内存数据库,具备速度飞快、结构丰富、功能完备、用户友好、支持广泛这五大特点,它是目前内存数据库方面的事实标准,在互联网上有非常广泛的应用。二、目录该文会通过创建SpringBoot项目整合Redis,实现Redis工具类,主要步骤如下:创建S原创 2021-01-20 11:14:16 · 276 阅读 · 0 评论 -
说说redis中简单动态字符串(SDS)的空间预分配实现
文章目录目的一、简单动态字符串(SDS)1.1 定义1.1 优点二、空间预分配2.1 原则2.2 java代码实现三 、小结目的编写本文章的目的是为了理解Redis底层实现的重要数据结构:简单动态字符串,并实际动手通过java代码实现简单动态字符串的空间预分配机制,让我们更加生动地理解底层技术。一、简单动态字符串(SDS)1.1 定义简单动态字符串是Redis底层结构中非常关键的一类数据结构,定义如下:struct sdshdr { // 字符串数组 char[] buf原创 2021-01-12 13:47:54 · 1237 阅读 · 1 评论 -
用Java语言编写菲波那契数列程序
文章目录一、了解菲波那契数列二、递归算法三、动态规划算法一、了解菲波那契数列斐波那契数列,又称黄金分割数列或兔子数列,该数列为0、1、1、2、3、5、8、13、21、34、…,可以看到它的性质是前两项之和等于后一项。用数学公式表示,即:F(N) = F(N - 1) + F(N - 2), (其中 N > 1且F(0) = 0, F(1) = 1)。菲波那契数列随着数列项数的增加,前一项与后一项之比越来越逼近黄金分割的数值0.6180339887……,黄金分割数又在自然界中无处不在,世界著名原创 2020-12-24 13:43:10 · 484 阅读 · 0 评论 -
Spring Cloud Alibaba生态探索:实战RocketMQ
文章目录背景一、RocketMQ介绍二、RocketMQ安装部署三、RocketMQ控制台安装四、RocketMQ的使用4.1 发送消息4.2 消费消息小结背景在微服务架构下,微服务之间除了通过HTTP/RPC方式通信外,还可以通过消息通信。消息通信的优点是降低了服务之间的相互耦合性,缺点是通信非实时。比如用户在电商平台下单成功后,平台会通过消息通信的方式发送短信通知,消息通知与下单交易过程是异步的,非实时的。一、RocketMQ介绍RocketMQ是一个低延迟、高可靠、易于使用的分布式消原创 2020-09-29 15:27:00 · 1718 阅读 · 2 评论 -
云服务器部署微服务,Nacos注册地址及Sentinel监控地址为内网IP的解决办法
背景微服务一般会部署到多台阿里云服务器或腾讯云服务器。在默认情况下,注册到Nacos、Sentinel的都是内网IP地址。如果微服务A通过注册中心调用微服务B,由于微服务A从Nacos注册中心获取到的是微服务B所在服务器的内部IP, 导致无法进行访问。Sentinel控制台监控的微服务的地址为内网IP,同样无法获取相应信息。解决方案在微服务项目中增加bootstrap.yml系统级配置文件,在Nacos及Sentinel配置中指定云服务器的公网IP。server: port: 90原创 2020-09-27 13:57:11 · 4048 阅读 · 0 评论