
微服务篇
文章平均质量分 97
还在继续努力!
小扳
有一天,小扳手走进了一家五金店。它看到了各种各样的工具,有锤子、钳子、螺丝刀等等。小扳手觉得自己在这里太小了,不起眼,很容易被忽视。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
微服务篇-深入了解 XXL-JOB 分布式任务调度的具体使用(XXL-JOB 的工作流程、框架搭建)
具体是通过 JobHandler 来确定任务逻辑,指定 @XxlJob("demoJobHandler") 注解中的 demoJobHandler 来确定。启动服务之后,访问 "localhost:8080/xxl-job-admin",默认端口号是 8080 ,默认的登录账号。定义一个逻辑任务,使用 @XxlJob("demoJobHandler") 注解,使用该注解标记到方法上,且。port:表示当前执行器的端口,主要作用是:给调用中心发送信息给执行器所用到的端口号。原创 2024-12-25 17:04:30 · 4124 阅读 · 116 评论 -
微服务篇-深入了解 MinIO 文件服务器(你还在使用阿里云 0SS 对象存储图片服务?教你使用 MinIO 文件服务器:实现从部署到具体使用)
MinIO 是一个高性能的对象存储服务器,专门设计用来处理大规模的非结构化数据。它提供与 Amazon S3(简单存储服务)兼容的 API,使得开发人员和运维团队能够轻松实现数据存储和管理。以下是 MinIO 的一些关键特点和概述: 1)高性能:MinIO 具有极高的吞吐量,能够支持大规模的并发请求,适用于需要快速处理大量数据的应用场景,如机器学习和数据分析等。 2)易于部署:MinIO 可以在多种环境中部署,包括本地服务器、虚拟机、容器(如 Docker和 Kubernetes原创 2024-12-24 10:07:07 · 3201 阅读 · 65 评论 -
微服务篇-深入了解 Elasticsearch DSL 查询和 RestClient 查询、数据聚合(Bucket 聚合、带条件聚合、Metric 聚合)
导入了大量数据到 Elasticsearch 中,实现了数据的存储。不过查询数据时依然采用的是根据 id 查询,而非模糊搜索。 所以来研究下 Elasticsearch 的数据搜索功能。Elasticsearch 提供了基于 JSON 的 DSL(Domain Specific Language)语句来定义查询条件,其 JavaAPI 就是在组织 DSL 条件。举个例子: 查询所有数据: 以最简单的无条件查询为例,无条件查询的类型是:match_all原创 2024-12-11 15:09:19 · 3898 阅读 · 84 评论 -
微服务篇-深入了解索引库与文档 CRUD 操作、使用 RestCliet API 操作索引库与文档 CRUD(Java 客户端连接 Elasticsearch 服务端)
微服务篇-深入了解索引库与文档 CRUD 操作、使用 RestCliet API 操作索引库与文档 CRUD(Java 客户端连接 Elasticsearch 服务端)Index 就类似数据库表,Mapping 映射就类似表的结构。要向 es 中存储数据,必须先创建 Index 和 Mapping 。原创 2024-12-09 15:05:01 · 7393 阅读 · 89 评论 -
微服务篇-深入了解 Elasticsearch 基础概念、Elasticsearch 倒排索引、IK 分词器(拓展词典)
数据库模糊查询随着表数据量的增多,查询性能的下降会非常明显,而搜索引擎的性能则不会随着数据增多而下降太多。目前仅 10 万不到的数据量差距就如此明显,如果数据量达到百万、千万、甚至上亿级别,这个性能差距会非常夸张。其次,功能单一数据库的模糊搜索功能单一,匹配条件非常苛刻,必须恰好包含用户搜索的关键字。而在搜索引擎中,用户输入出现个别错字,或者用拼音搜索、同义词搜索都能正确匹配到数据。原创 2024-12-08 15:32:29 · 3492 阅读 · 59 评论 -
微服务篇-深入了解 XA 模式与 AT 模式、分布式事务(部署 TC 服务、微服务集成 Seata )
GlobalTransactional 注解就是在标记事务的起点,将来 TM 就会基于这个方法判断全局事务范围,初始化全局事务。首先,要在配置文件中指定要采用的分布式事务模式。Processing)标准,XA 规范描述了全局的 TM 与局部的 RM 之间的接口,几乎所有主流的数据库。册一下分支事务,属于哪个全局,然后才能去执行业务 sql,sql 执行完后,但是 XA 规范规定 sql。每一个分支事务就是传统的单体事务,都可以满足 ACID 特性,但全局事务跨越多个服务,原创 2024-12-05 11:31:49 · 2869 阅读 · 97 评论 -
微服务篇-微服务保护:使用 Sentinel 来实现请求限流、线程隔离、服务熔断和 Fallback 备用方案的使用
微服务保护的方案有很多,比如:请求限流、线程隔离、服务熔断。这些方案或多或少都会导致服务的体验上略有下降,比如请求限流,降低了并发上限;线程隔离,降低了可用资源数量;服务熔断,降低了服务的完整度,部分服务变的不可用或弱可用。因此这些方案都属于服务降级的方案。但通过这些方案,服务的健壮性得到了提升。原创 2024-11-30 15:50:39 · 3318 阅读 · 99 评论 -
微服务篇-深入了解 Gateway 网关路由实现路由转发、配置管理与登录校验(使用自定义过滤器 GlobalFilter、GatewayFilter 与 RequestInterceptor 拦截器)
无论是 GatewayFilter 还是 GlobalFilter 都支持自定义,只不过编码方式、使用方式略有差别。自定义 GatewayFilter 不是直接实现 GatewayFilter,而是实现 AbstractGatewayFilterFactory。@Component@Override@Override// 获取请求// 编写过滤器逻辑System.out.println("过滤器执行了");// 放行直接在 filter 函数中编写登录校验代码。原创 2024-11-28 19:28:35 · 2116 阅读 · 91 评论 -
微服务篇-深入了解使用 RestTemplate 远程调用、Nacos 注册中心基本原理与使用、OpenFeign 的基本使用
比如刚才通过 Swagger 测试商品查询接口,而这种查询就是通过 http 请求的方式来完成的,不仅仅可以实现远程查询,还可以实现新增、删除等各种远程请求。项目的架构设计、开发模式都非常简单。在微服务中,每一个模块都是独立的,那么模块与模块之间就不能直接通过 Bean 对象注入的方式来访问不同模块的方法了,则需要通过网络来建立模块与模块之间的联系了。- 服务提供者会定期向注册中心发送请求,报告自己的健康状态(心跳请求),当注册中心长时间收不到提供者的心跳时,会认为该实例宕机,将其从服务的实例列表中剔除。原创 2024-11-26 21:37:51 · 2948 阅读 · 75 评论