自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 链路追踪 - Micrometer

除了自动生成的 Span,还可以在代码中手动创建 Span 来追踪特定的业务逻辑。@Autowired// 业务逻辑。

2024-09-25 15:18:59 972

原创 Arthas的部署与使用

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。

2024-09-25 15:15:59 987

原创 springboot整合Elasticsearch

在Es7.15版本之后,es官方将它的高级客户端RestHighLevelClient标记为弃用状态。同时推出了全新的java API客户端Elasticsearch Java API Client,该客户端也将在Elasticsearch8.0及以后版本中成为官方推荐使用的客户端。/**/*** 主键/*** 公司ID/*** 知识所属分类/*** 知识所属分组/*** 关联类别,1是相关知识,2是菜单问题(菜单问题中有引导语)/*** 知识库问题。

2024-09-25 15:15:21 582

原创 搜索引擎之Elasticsearch

*简介:**ES全称:Elasticsearch,是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTP Web接口和无模式JSON文档。Elasticsearch是用Java开发的,并在Apache许可证下作为开源软件发布。Elasticsearch官网:https://www.elastic.co/cn/products/elasticsearch。

2024-09-25 15:10:02 621

原创 MyBatis-plus使用

Data/*** 主键 ID, @TableId 注解定义字段为表的主键,type 表示主键类型,IdType.AUTO 表示随着数据库 ID 自增*//*** 姓名*//*** 年龄*//*** 性别*/@TableName 表名注解作用:标识实体类对应的表。TIP :当实体类名称和实际表名一致时,如实体名为 User , 表名为 user ,可不用添加该注解, Mybatis Plus 会自动识别并映射到该表。

2024-09-25 15:08:21 920

原创 分布式任务调度之xxl-job

Elastic Job是当当网架构师开发,是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成;定位为轻量级无中心化解决方案,使用 jar 包的形式提供分布式任务的协调服务。支持分布式调度协调、弹性扩容缩容、失效转移、错过执行作业重触发、并行调度、自诊断和修复等等功能特性。

2024-09-25 15:07:42 820

原创 Spring Authorization Server授权框架

英文官网假设想要以 Google 帐号来登录 echatsoft客服系统,需要怎么做呢?最简单的方式是把用户名密码交给 echatsoft,这样 echatsoft 就能以 Google 的身份登录。但是这样存在很大的安全隐患,如果echatsoft不小心泄漏了用户名密码,或者想要撤销授权的时候,基本就没有很好的办法。因此我们需要一种授权协议,并不直接给第三方应用用户名密码,而是引入一个中间层,access_token。

2024-09-25 15:06:46 731

原创 微服务分布式事务Seata

Seata官网Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。

2024-09-25 15:05:54 635

原创 数据库连接池—— HikariCP & Druid

数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。一个数据库连接对象均对应一个物理数据库连接,每次操作都打开一个物理连接,使用完都关闭连接,这样造成系统的 性能低下。数据库连接池的解决方案是在应用程序启动时建立足够的数据库连接,并讲这些连接组成一个连接池(简单说:在一个“池”里放了好多半成品的数据库联接对象),由应用程序动态地对池中的连接进行申请、使用和释放。对于多于连接池中连接数的并发请求,应该在请求队列中排队等待。

2024-09-25 15:04:24 943

原创 分布式系统全局唯一ID实现方案

本系统考虑使用此方案。在美团早期,有的业务直接通过DB自增的方式生成ID,有的业务通过redis缓存来生成ID,也有的业务直接用UUID这种方式来生成ID。总结:一洽架构中使用此方案生成消息的mid,本系统使用分布式系统全局唯一ID,主要是用于在通信框架中给每条消息附上唯一编码,考虑到Redis解决方案可能存在的单点故障问题以及在高并发环境下的性能瓶颈以及对Redis服务的强依赖性等因素,不推荐此方案。因为这种方案依赖时间,如果机器的时钟发生了回拨,那么就会有可能生成重复的ID号,需要解决时钟回退的问题。

2024-09-25 15:01:59 1102

原创 NodeJS - Protobuf

在项目中创建.proto 文件service实体类room实体类UserIdRequest。

2024-09-25 14:58:25 363

原创 Netty - Socket.io

注意,这里存在一个关键点:需要设置自定义存储工厂,以便获取 AuthorizationResult 中的 storeParams。在本示例中,我们采用 Redisson 作为存储工厂。修改nacos配置socketio:# redis服务redis:sentinel:更新socketio启动配置类/***/@Slf4j@Autowired@Autowired@Autowired@Autowired@Autowired。

2024-09-25 14:57:41 1175

原创 java - Protobuf

在项目中创建.proto 文件在进行 proto(Protocol Buffers)和 JSON 库的性能对比时,我们观察到,两者在单次解析过程中的平均时间均低于1毫秒。无论是采用 Protocol Buffers 还是 JSON 作为数据序列化和反序列化的机制,它们都具备高效处理能力,非常适合用于数据密集型的通信框架。这种高效的数据处理能力确保了在网络通信中,即使是在数据量较大或请求频率较高的情况下,这两种技术也能提供稳定且迅速的数据流转换,从而满足现代应用程序对于性能的严格要求。

2024-09-25 14:55:55 784

原创 RPC:Dubbo

测试服务提供者,通常需要测试其业务逻辑而不是Dubbo框架本身。可以使用标准JUnit测试来完成。对于服务消费者,可以使用Mockito来模拟Dubbo服务的行为。RPC的高并发、低延迟可以为多个微服务提供相互间的通信。bootstrap.yaml新增配置。实现 HelloService 接口。bootstrap.yaml新增配置。nacos显示有dubbo服务。

2024-09-25 14:55:32 990

原创 微服务架构

微服务(Microservice Architecture)是一种软件架构概念,它将应用程序构建为一套小的、松散耦合的服务集合。通俗点说就是将业务功能分散到各个服务中以实现业务实现的解耦。每个服务运行在其独立的进程中,通常围绕着一个特定的业务功能进行构建,拥有自己的数据存储和处理机制,通过轻量级的通信协议(如HTTP RESTful API)相互协作。这种架构风格强调服务的独立部署、可伸缩性和灵活性,旨在提高大型复杂应用系统的开发、部署和维护效率。

2024-09-25 14:52:57 1206

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除