Java
文章平均质量分 85
youyouwuxin1234
博主:忧忧吾心
学历:2017.09-2019.07 硕士 - 武汉大学 软件工程
2013.08-2017.06 本科 - 郑州大学 计算机科学与技术
工作:2019.07.02-2021.11.16,在美的集团IT部门国际事业部,任职软件开发工程师
2021.11.22-2021.12.31,在新华三大数据有限公司从事软件研发
2022.01.01-至今,在紫光集团旗下紫光云技术有限公司从事中间件软件研发工作
其他:代表公司参加过2019年杭州阿里巴巴云栖大会
兴趣:爱生活、爱学习、爱运动、爱旅行、爱美食。
展开
-
551、Elasticsearch详细入门教程系列 -【分布式全文搜索引擎 Elasticsearch(二)】 2023.04.04
这是因为ES在保存文档数据时,会将数据进行分词、拆解操作,并将拆解后的数据保存到倒排索引中,这样即使使用文字的一部分(小米可以查询到、小也可以查询到)也能查询到数据,这种方式就称为 全文检索。在ES中创建一个索引,就相当于在mysql中创建了一个数据库,而mysql中的数据库肯定是不能重复的,也即ES中的索引也不能重复,所以这是一个幂等性操作,需要发送PUT请求(如果重复发送PUT请求、重复添加索引,会返回错误信息),这里不能发送POST请求。创建数据库表需要设置字段名称,类型,长度,约束等;原创 2023-04-04 17:51:13 · 709 阅读 · 1 评论 -
549、RocketMQ详细入门教程系列 -【消息队列之 RocketMQ(三)】 2023.02.28
消息生产者就是把生产者 DefaultMQProducer 对象的生命周期分成构造函数、init、destroy 三个方法,构造函数中将生产者组名、NameServer 地址作为变量由 Spring 容器在配置时提供,init 方法中实例化 DefaultMQProducer 对象、设置 NameServer 地址、初始化生产者对象,destroy 方法用于生产者对象销毁时清理资源。消息消费者同消息生产者配置类似,多了一个消息监听器对象的定义和绑定。原创 2023-02-28 17:12:50 · 409 阅读 · 0 评论 -
548、RocketMQ详细入门教程系列 -【消息队列之 RocketMQ (二)】 2023.02.28
首先启动 Name Server,先确保你的机器中已经安装了与 RocketMQ 相匹配的 JDK ,并设置了环境变量 JAVA_HOME ,然后在 RocketMQ 的安装目录下执行 bin 目录下的 mqnamesrv ,默认会将该命令的执行情况输出到当前目录的 nohup.out 文件,最后跟踪日志文件查看 Name Server 的实际运行情况。该类构造函数入参 consumerGroup 是消息消费者组的名字,需要保证该名字的唯一性。send 方法是同步调用,只要不抛异常就标识成功。原创 2023-02-28 17:04:00 · 583 阅读 · 0 评论 -
547、RocketMQ详细入门教程系列 -【消息队列之 RocketMQ(一)】 2023.01.30
消费消息时通过 Consumer Group 实现了将消息分发到多个消费者服务器实例,比如某个 Topic 有9条消息,其中一个 Consumer Group 有3个实例(3个进程或3台机器),那么每个实例将均摊3条消息,这也意味着我们可以很方便的通过加机器来实现水平扩展。这种方式优点是消息丢失的非常少,且消息实时性不会受影响,Master 宕机后消费者可以继续从 Slave 消费,中间的过程对用户应用程序透明,不需要人工干预,性能同多 Master 方式几乎一样。消息(Message)就是要传输的信息。原创 2023-01-30 18:10:00 · 542 阅读 · 0 评论 -
546、Zookeeper详细入门教程系列 -【Zookeeper内部原理】 2022.11.06
有关zookeeper的内容还远不止这些,这篇更多的是介绍一些zookeeper的概念,少许客户端的命令操作就每放上来了,今天我们知道zookeeper的存储节点和监听机制,就可以实现很多功能。目前阶段了解这些就够了,有机会再深入的话,会写后续的文章来介绍。原创 2022-11-06 12:52:39 · 6387 阅读 · 0 评论 -
545、Zookeeper详细入门教程系列 -【什么是Zookeeper】 2022.11.06
在我的印象中,zookeeper是可以作为注册中心来存在的,之前的微服务架构更多的是采用Dubbo+zookeeper来搭配着使用的,因此,zookeeper它是主要服务于分布式系统。而分布式系统的特点就是会有多个节点存在,实时感知每个节点的状态,管理每个节点就变得尤为重要。而zookeeper的出现就解决了这个问题。原创 2022-11-06 12:44:30 · 311 阅读 · 0 评论 -
534、RabbitMQ详细入门教程系列 -【交换器与队列API探索 RabbitMQ(二)】 2022.06.22
第一篇文章RabbitMQ(一) – 初识RabbitMQ中基于AMQP协议对RabbitMQ整体进行了简介,旨在帮助阅读本系列文章的朋友建立初步的概念。文中最后部分使用到的客户端操作API并未深入的进行学习理解,本文将从RabbbitMQ应用服务部分即Broker所包含的交换器与队列两方面深入学习。为什么要在生产者与队列之间提出交换器概念?试想如果生产者与队列直接耦合,当生产者客户端需要将一条消息发送至多个队列,那就需要多次操作。......原创 2022-06-21 15:14:54 · 147 阅读 · 0 评论 -
533、RabbitMQ详细入门教程系列 -【初识RabbitMQ(一)】 2022.06.21
RabbitMQ队列基于AMQP协议使用Erlang语言开发实现,支持多客户端类型如Java、Ruby、Go、PHP等。其余比较流行的消息队列中间件,相对的还有RocketMQ、ActiveMQ、Kafka等等。后续需要测试RabbitMQ,如果没有安装服务请移步RabbitMQ服务安装。MQ总结而言最大的三个特点就是异步、削峰、解耦,如下图所示。其余复杂的概念就不照本宣科抄袭了,反正写在这里也是废话。最简单的概括就是存储数据的容器,与MySQL数据库、Redis数据库等类似,区别在于自身实现特点决定了应用原创 2022-06-21 14:53:26 · 246 阅读 · 0 评论 -
532、ActiveMQ详细入门教程系列 -【ActiveMQ(二)】 2022.05.21
目录1、JMS的消息格式2、消息可靠性机制2.1 优先级2.2 消息过期2.3 临时目的地3、什么是ActiveMQ3.1 存储方式3.2 协议4、案例(Hello World)4.1 安装启动4.2 web控制台4.3 web控制台4.4 开发5、总结6、参考链接1、JMS的消息格式JMS消息由以下三部分组成的:消息头:每个消息头字段都有相应的getter和setter方法。消息属性:如果需要除消息头字段以外的值,那么可以使用消息属性。消息体:JMS定义的消息类型有T原创 2022-05-21 21:22:31 · 221 阅读 · 0 评论 -
531、ActiveMQ详细入门教程系列 -【ActiveMQ(一)】 2022.05.21
目录1、什么是消息中间件2、消息中间件的应用场景2.1 异步通信2.2 缓冲2.3 解耦2.4 冗余2.5 扩展性2.6 可恢复性2.7 顺序保证2.8 过载保护2.9 数据流处理3、常用消息队列(ActiveMQ、RabbitMQ、RocketMQ、Kafka)比较4、消息中间件的角色5、参考链接1、什么是消息中间件两个系统或两个客户端之间进行消息传送,利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间原创 2022-05-21 21:04:31 · 232 阅读 · 0 评论 -
529、Java工程师的进阶之路 -【 Kafka (四)】 2022.04.23
目录1、Kafka 重平衡流程1.1 重平衡状态转化1.2 从消费者看重平衡1.3 从协调者来看重平衡1.3.1 新成员加入组1.3.2 组成员主动离开1.3.3 组成员崩溃离开1.3.4 组成员提交位移2、参考链接1、Kafka 重平衡流程一个消费者组中是要有一个群组协调者(Coordinator)的,而重平衡的流程就是由 Coordinator 的帮助下来完成的。群组协调器(Coordinator):群组协调器是一个能够从消费者群组中收到所有消费者发送心跳消息的 broker。在最早期的版本中,原创 2022-04-23 10:29:07 · 280 阅读 · 1 评论 -
528、Java工程师的进阶之路 -【 Kafka (三)】 2022.04.13
目录1.Kafka 的副本机制1.1. Leader 副本1.2. Follower 副本1.3. Follower 和 Leader 副本同步1.4. 同步复制和异步复制1.5 ISR(In-Sync Replicas)1.6. Unclean 领导者选举2. Kafka 的请求处理流程2.1. 响应式模型2.2. 生产请求2.3. 获取请求2.4. 元数据请求3.参考链接1.Kafka 的副本机制复制功能是 Kafka 架构的核心功能,在 Kafka 文档里面 Kafka 把自己描述为 一个分布式原创 2022-04-13 16:58:17 · 179 阅读 · 0 评论 -
527、Java工程师的进阶之路 -【 Kafka (二)】 2022.02.28
目录1.Kafka 集群成员关系2. Broker Controller 控制器2.1. Controller 的作用2.2. Controller 的选举2.3. Controller 的数据存储2.4. Controller 的故障转移2.5. Controller 的设计原理3、参考链接上文我们对 Kafka 的基本概念和工作流程进行了介绍,如果只是为了开发 Kafka 应用程序,或者只是在生产环境使用 Kafka,那么了解 Kafka 的内部工作原理不是必须的。不过,了解 Kafka 的内部工作原原创 2022-02-28 10:24:51 · 130 阅读 · 0 评论 -
526 、Java工程师的进阶之路 -【 Kafka (一)】 2022.01.20
目录1. Kafka 诞生背景2. 为何使用消息系统3. Kafka 基本架构3.1. 拓扑结构3.2. 名词概念4. Kafka 基本特性4.1. 设计思想4.2. 应用场景5. Push 模式 vs Pull 模式5.1. 点对点模式5.2. 发布订阅模式5.3. Kafka 的选择6. Kafka 工作流程6.1. 发送数据6.2. 保存数据6.3. 消费数据7. 参考链接1. Kafka 诞生背景Kafka 是最初由 Linkedin 公司开发,是一个分布式、支持分区的(partition)、原创 2022-01-20 23:15:09 · 151 阅读 · 0 评论 -
525、Java工程师的进阶之路 -【 RocketMQ (二)】 2022.01.06
目录1. RocketMQ 设计目的1.1. 发布/订阅1.2. 消息优先级1.3. 消息顺序1.4. 消息过滤1.5. 消息持久化1.6. 消息可靠性1.7. 消息实时性1.8. 保证至少一次1.9. 保证只有一次1.10. Broker的Buffer溢出1.11. 回溯消费1.12. 消息堆积1.13. 分布式事务1.14. 定时消息1.15. 消息重试2. RocketMQ 消费模型3. RocketMQ 网络模型4. RocketMQ 存储模型5、RocketMQ 高可用性6. RocketMQ 定原创 2022-01-06 17:28:28 · 174 阅读 · 0 评论 -
524、Java工程师的进阶之路 -【 RocketMQ (一)】 2021.12.29
目录1、RocketMQ 简介2、RocketMQ 架构图3、RocketMQ 名词解释4、 RocketMQ Topic和Queue5. RocketMQ 入门实例5.1. RocketMQ 生产者5.2. RocketMQ 消费者6、参考链接1、RocketMQ 简介RocketMQ 前身叫做 MetaQ, 在 MetaQ 发布 3.0 版本的时候改名为 RocketMQ,其本质上的设计思路和 Kafka 类似,但是和 Kafka 不同的是其使用 Java 进行开发,由于在国内的 Java 受众群体原创 2021-12-29 10:57:57 · 1118 阅读 · 0 评论 -
523、Java Spring Cloud Alibaba -【Spring Cloud Alibaba SkyWalking】 2021.12.27
目录1. SkyWalking 简介1.1 SkyWalking的组成2. 使用 Docker 快速搭建 SkyWalking 8.02.1 在 linux 服务器上选择并建立目录;2.2 进入 skywalking-docker 目录,建立一个名为 skywalking.yaml 的脚本文件,内容如下:2.3 在 Spring 项目中引入 SkyWalking 客户端3、项目 GitHub 地址:4、参考链接1. SkyWalking 简介Skywalking 是由国内开源爱好者吴晟(原 OneA原创 2021-12-27 15:44:59 · 214 阅读 · 0 评论 -
522、Java Spring Cloud Alibaba -【Spring Cloud Alibaba Seata】 2021.12.27
目录1. Seata 简介1.1 简要发展史1.2 Seata 设计初衷2. 使用 Docker 快速搭建 Seata 1.42.1 在 linux 服务器上选择并建立目录;2.2 进入 seata-docker 目录,建立一个名为 registry.conf 的配置文件,内容如下:2.3 修改 config.txt 中的参数中的一行(具体原因后边会解释):2.4 上传 config.txt 中的配置参数到 Nacos,实现动态配置:2.5 上传完配置参数,我们回到 seata-docker 目录,建立名为原创 2021-12-27 15:25:40 · 323 阅读 · 0 评论 -
521、Java Spring Cloud Alibaba -【Spring Cloud Alibaba RocketMQ 】 2021.12.27
目录1、RocketMQ 简介2、使用 Docker 快速搭建 RocketMQ 4.42.1 在 linux 服务器上选择并建立目录;2.2 进入 rocketmq-docker 目录,建立一个名为 broker.conf 的配置文件,内容如下:2.3 还是在 rocketmq-docker 目录,建立一个名为 rocketmq.yaml 的脚本文件;2.4 开启 broker 用到的防火墙端口,方便后续使用:2.5 执行 sentinel-dashboard.yaml 脚本启动容器:2.6 进入 roc原创 2021-12-27 14:42:24 · 268 阅读 · 0 评论 -
520、Java Spring Cloud Alibaba -【Spring Cloud Alibaba Zuul】 2021.11.02
目录1、 Zuul 简介2、Zuul 网关的引入3、Zuul 网关的快速搭建4、参考链接1、 Zuul 简介Zuul 微服务网关是为 Spring Cloud Netflix 提供动态路由,监控,弹性,安全等服务的框架。可以和Eureka、Ribbon、Hystrix 等组件配合使用。1.1 Zuul 主要功能认证和安全: 识别每个需要认证的资源,拒绝不符合要求的请求。性能监测: 在服务边界追踪并统计数据,提供精确的生产视图。动态路由: 根据需要将请求动态路由到后端集群。压力测试: 逐渐增加原创 2021-11-02 15:20:16 · 706 阅读 · 0 评论 -
519、Java Spring Cloud Alibaba -【Spring Cloud Alibaba Oauth2 - 下】 2021.11.01
目录1、搭建 Oauth2 资源服务(客户端)2、Feign 微服务间调用认证踩坑3、参考链接1、搭建 Oauth2 资源服务(客户端)搭建下边几个服务任选一个:会员服务:herring-member-service,微服务之一,接收到请求后会到认证中心验证。订单服务:herring-orders-service,微服务之二,接收到请求后会到认证中心验证。商品服务:herring-product-service,微服务之三,接收到请求后会到认证中心验证。添加 pom 文件依赖:原创 2021-11-01 18:16:09 · 434 阅读 · 0 评论 -
518、Java Spring Cloud Alibaba -【Spring Cloud Alibaba Oauth2 - 中】 2021.11.01
目录1. 搭建 Oauth2 认证中心(服务端)1. 搭建 Oauth2 认证中心(服务端)1.1 添加 pom 文件依赖:spring-cloud-starter-oauth2 包含了 spring-cloud-starter-security,所以不用再单独引入了。 <dependency> <groupId>org.springframework.boot</groupId> <artifa原创 2021-11-01 17:56:04 · 353 阅读 · 0 评论 -
517、Java Spring Cloud Alibaba -【Spring Cloud Alibaba Oauth2 - 上】 2021.11.01
目录1、Oauth2 简介2、Oauth2 实现3、参考链接1、Oauth2 简介OAuth2 其实是一个关于授权的网络标准,它制定了设计思路和运行流程,利用这个标准我们其实是可以自己实现 OAuth2 的认证过程的。spring-cloud-starter-oauth2 ,其实是 Spring Cloud 按照 OAuth2 的标准并结合 spring-security 封装好的一个具体实现。首先大家最熟悉的就是几乎每个人都用过的,比如用微信登录、用 QQ 登录、用微博登录、用 Google 账号登原创 2021-11-01 17:12:05 · 144 阅读 · 0 评论 -
516、Java Spring Cloud Alibaba -【Spring Cloud Alibaba Sentinel - 下】 2021.10.11
目录1、Sentinel 控制台配合项目实战1.1 尝试对访问路径限流1.2. 尝试对服务资源限流1.3 尝试对异常服务熔断1.4 尝试对热点参数限流1.5. 尝试黑白名单控制2、参考链接1、Sentinel 控制台配合项目实战1.1 尝试对访问路径限流1.打开刚才的“簇点链路”菜单,尝试对访问路径限流:资源名:唯一名称,默认请求路径。针对来源:Sentinel可以针对调用者进行限流,填写微服务名,默认default(不区分来源)。阈值类型QPS(Query Per Second):每秒原创 2021-10-11 01:09:46 · 116 阅读 · 0 评论 -
515、Java Spring Cloud Alibaba -【Spring Cloud Alibaba Sentinel - 中】 2021.10.11
0、目录1、在 Spring 项目中引入 Sentinel 客户端2、参考链接1、在 Spring 项目中引入 Sentinel 客户端1.添加 pom 文件依赖: <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId&原创 2021-10-11 00:53:36 · 108 阅读 · 0 评论 -
514、Java Spring Cloud Alibaba -【Spring Cloud Alibaba Sentinel - 上】 2021.10.11
这里写目录标题1、Sentinel 简介2. 使用 Docker 快速搭建 Sentinel 1.83、参考链接GitHub 项目源地址1、Sentinel 简介Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围原创 2021-10-11 00:46:51 · 94 阅读 · 0 评论 -
513、Java Spring Cloud Alibaba -【Spring Cloud Alibaba Nacos】 2021.08.30
目录1、Nacos简介2、使用 Docker 快速搭建 Nacos 1.42.1 从 git 上 clone 项目:2.2 clone 完成后,进入 naocs-docker 目录:2.3 执行 standalone-derby.yaml 脚本启动容器:2.4 用于后期其他需要,务必开启 firewall 防火墙端口:2.5 登录 Nacos 控制台,默认用户名为 nacos,密码为 nacos:3、在 Spring 项目中引入 Nacos 客户端3.1 启动服务发现3.2 启动配置管理4、Nacos 控制原创 2021-08-30 14:22:40 · 561 阅读 · 0 评论 -
512、Java Spring Cloud Alibaba -【Spring Cloud Alibaba 准备】 2021.08.30
目录1、Spring Cloud Alibaba 简介2、主要功能3、主要组件4、版本管理规范5、主要内容6、极速安装 Docker 环境7、建立一个初始项目8、使用 Docker 快速安装 MySQL 5.79. 使用 Docker 快速安装 Redis 3.210、参考链接1、Spring Cloud Alibaba 简介Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用原创 2021-08-30 11:31:08 · 150 阅读 · 0 评论 -
511、Java工具和中间件07 -【Docker - DockerFile】 2021.08.04
目录1、DockerFile2、简单举例3、参考链接1、DockerFileDockerFile 与 commit一样,也是用于做镜像的。 与 commit 把现成的 容器转换为镜像不同的是, DockerFile 需要自己写脚本,一条一条地把最终镜像需要的内容撸进去~有兴趣了解的同学可以看看这篇文章:【简书】学习Docker之Dockerfile的命令2、简单举例创建一个 docker_demo 目录mkdir docker_demo然后在里面创建要给 Dockerfile, 文件的内容原创 2021-08-04 17:58:51 · 106 阅读 · 0 评论 -
510、Java工具和中间件06 -【Docker - 网络恢复、提交镜像】 2021.08.04
目录1、网络恢复2、提交镜像3、注册账号3、登录4、push5、参考链接1、网络恢复虚拟机一旦重启,或者关机过,那么就会出现可以访问 Linux,但是无法访问里面的 Docker的情况。 可以在 CentOS里做如下事情:vi /etc/sysctl.conf或者vi /usr/lib/sysctl.d/00-system.conf添加如下代码:net.ipv4.ip_forward=1重启network服务systemctl restart network查看是否修改成功sysct原创 2021-08-04 17:50:04 · 122 阅读 · 0 评论 -
509、Java工具和中间件05 -【Docker - 容器管理】 2021.07.16
目录1、容器管理2、run3、exec 和 attach4、commit5、生命周期管理6、ps7、inspect8、rm9、删除所有容器10、参考链接1、容器管理接着就是容器管理的一套命令了运行 run进入 exec attach生命周期管理, 暂停,恢复,停止,启动 pause, unpause, stop, startps 查看所有的容器检查某个具体的容器rm 删除容器commit,对容器做了修改后,把改动后的容器,再次转换为镜像2、run在跑天猫的 运行镜像 中doc原创 2021-07-16 16:46:30 · 161 阅读 · 1 评论 -
508、Java工具和中间件04 -【Docker - 镜像管理】 2021.07.16
目录1、镜像管理2、search3、查找 tomcat4、选择版本5、访问6、images 命令7、rmi 命令8、push9、tag10、删除全部镜像11、参考链接1、镜像管理镜像管理常见的有这么些:search 查看仓库里有些什么镜像pull 拉取镜像images 查看本地有些什么镜像rmi 删除本地镜像修改本地镜像名称push , 把镜像提交到仓库2、searchdocker search how2j如图所示仓库里通过关键字 找到一个 how2j 的镜像。当然我们也可原创 2021-07-16 16:38:37 · 121 阅读 · 0 评论 -
507、Java工具和中间件03 -【Docker - 概念理解】 2021.07.16
目录1、概念图2、进入容器3、概念4、参考链接1、概念图通过 跑天猫 这么一个示例,下面我们来理解 Docker 里面的概念。如图所示: 最上面是镜像仓库。在 拉取镜像 中的语句:docker pull how2j/tmall“how2j/tmall” 就是站长事先做好的一个镜像。 所谓的镜像,就是持久化后的,安装了各种工具,软件和服务的一个Linux 操作系统。它是 站长事先就上传到 docker 的镜像仓库去的。 镜像仓库又在哪里呢?它就在这里啦:https://cloud.do原创 2021-07-16 15:55:37 · 123 阅读 · 0 评论 -
506、Java工具和中间件02 -【Docker - 安装虚拟机、安装Docker】 2021.07.16
目录1、关于 Docker 安装2、Linux 操作系统3、通过 VMWare 虚拟机 安装 Linux4、基于虚拟机进行5、更新 yum6、安装 Docker7、启动 Docker8、参考链接1、关于 Docker 安装市面上的教程,安装 Docker 通常会分为Linux 里安装 DockerMac 里安装 DockerWindows 里安装 Docker事实上呢。。。。大家工作的时候90%的可能性,都是会在 Linux 上装 Docker,用 Docker. 所以 Mac安装和 Win原创 2021-07-16 15:03:15 · 152 阅读 · 0 评论 -
505、Java工具和中间件01 -【Docker - 简介】 2021.07.16
目录1、k8s和Docker关系简单说明2、 什么是 Docker3、部署一个J2EE应用4、Docker 怎么做5、参考链接1、k8s和Docker关系简单说明k8s和Docker关系简单说明简要介绍:官方定义1:Docker是一个开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行的Linux机器上,也可实现虚拟化。官方定义2:k8s是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。2、 什么是 Docker什么是 Docke原创 2021-07-16 14:35:26 · 221 阅读 · 0 评论 -
504、Java分布式和集群17 -【SpringCloud视图微服务 - 端口号总结】 2021.06.30
0、多个微服务springcloud 做到现在,已经有很多微服务了。 我们打开 父项目 springcloud 的 pom.xml 可以发现里面有很多子项目了。 <module>eureka-server</module> <module>product-data-service</module> <module>product-view-service-ribbon</module> <module>pr原创 2021-06-30 11:21:11 · 192 阅读 · 0 评论 -
503、Java分布式和集群16 -【SpringCloud视图微服务 - 网关 ZUUL】 2021.06.30
0、为何要用网关我们现在有两种微服务,分别是数据微服务和视图微服务。他们有可能放在不同的 ip 地址上,有可能是不同的端口。为了访问他们,就需要记录这些地址和端口。 而地址和端口都可能会变化,这就增加了访问者的负担。所以这个时候,我们就可以用网关来解决这个问题。如图所示,我们只需要记住网关的地址和端口号就行了。如果要访问数据服务,访问地址 http://ip:port/api-data/products 即可。如果要访问视图服务,访问地址 http://ip:port/api-view/pro原创 2021-06-30 11:17:35 · 132 阅读 · 0 评论 -
502、Java分布式和集群15 -【SpringCloud视图微服务 - 断路器监控】 2021.06.30
0、需求在上个知识点讲解了针对一个微服务的断路器监控,但是微服务通常会是多个实例组成的一个集群。 倘若集群里的实例比较多,难道要挨个挨个去监控这些实例吗? 何况有时候,根据集群的需要,会动态增加或者减少实例,监控起来就更麻烦了。所以为了方便监控集群里的多个实例,springCloud 提供了一个 turbine 项目,它的作用是把一个集群里的多个实例汇聚在一个 turbine里,这个然后再在 断路器监控里查看这个 turbine, 这样就能够在集群层面进行监控啦。1、先运行,看到效果,再学习老规矩原创 2021-06-30 11:02:24 · 176 阅读 · 1 评论 -
501、Java分布式和集群14 -【SpringCloud视图微服务 - 断路器监控】 2021.06.30
0、需求前面讲解了断路器, 当数据服务不可用的时候, 断路器就会发挥作用。那么数据服务什么时候可用,什么时候不可用,如何监控这个事情呢? 我们就要用到 断路器监控 来可视化掌控这个情况了。1、监控图解监控信息就是如图所示这样,里面的各部分都标记了解释。2、关闭数据服务此时关闭数据服务,再观察,不一会儿红色的数据就达到 100%啦3、模仿和排错在确保可运行项目能够正确无误地运行之后,再严格照着教程的步骤,对代码模仿一遍。模仿过程难免代码有出入,导致无法得到期望的运行结果,此时此刻通过比较原创 2021-06-30 10:47:25 · 143 阅读 · 1 评论 -
500、Java分布式和集群13 -【SpringCloud视图微服务 - 断路器Hystrix】 2021.06.01
前言:目录前言:0、问题1、断路器2、先运行,看到效果,再学习3、pom.xml4、ProductClientFeign5、ProductClientFeignHystrix6、application.yml7、参考链接前言:不知不觉当中,博客数量已经突破到500篇了。回头看看,其中伴随了很多的辛酸苦辣:找工作、面试、参加军队文职考试......加之5月底广州疫情大爆发,把人们内心深处那颗悬着的心再次拉到了嗓子眼,感染人数激增,打疫苗者、做核酸检测者如过江之鲫原创 2021-06-01 16:27:38 · 134 阅读 · 0 评论