后端框架
文章平均质量分 70
java框架
猿脑2.0
《大话架构演进之路》发起人,从事架构开发。2024年下半年我已邀请前端、后端、大数据、物联网,unity、3d前端、ai开发等多名朋友,一起写好《大话架构演进之路》这本书,欢迎你加入合写或者围观,期待一场精彩的相遇!
展开
-
springboot集成nacos和dubbo做服务远程调用
启动 Nacos 服务端,然后启动服务提供者和服务消费者的 Spring Boot 应用。服务消费者将能够通过 Dubbo 调用服务提供者的服务。通过以上步骤,你可以在 Spring Boot 应用中集成 Nacos 和 Dubbo,实现服务注册、发现和调用。@Service // 注意这是 Dubbo 的 @Service 注解。在你的 Spring Boot 项目的。原创 2024-08-22 08:09:45 · 861 阅读 · 0 评论 -
feign介绍和使用
创建一个接口,并使用。原创 2024-08-22 07:52:59 · 719 阅读 · 0 评论 -
除了feign,推荐你另外4种http客户端
在Spring Boot中,可以使用多种方式来创建HTTP客户端进行服务间的通信。原创 2024-08-20 08:12:10 · 723 阅读 · 0 评论 -
使用nacos做服务发现和配置中心
使用Nacos作为服务注册和配置中心是构建微服务架构中常用的一种解决方案。下面将详细介绍Nacos集群的部署、配置、使用和优化。原创 2024-08-17 12:09:46 · 477 阅读 · 1 评论 -
插件管理、配置、通信功能案例
要补充插件管理、插件配置和插件间通信功能,我们需要扩展之前的示例。原创 2024-08-07 23:12:08 · 321 阅读 · 0 评论 -
使用SPI机制编写一个Java插件
这个简单的插件系统展示了如何在Java中使用SPI(Service Provider Interface)机制来加载和执行插件。当然,实际的插件系统可能会更加复杂,包括插件管理、插件配置、插件间通信等功能。但这个示例提供了一个基本的起点。在Java中,插件通常是指可以被其他应用程序或框架动态加载和使用的代码模块。创建一个简单的Java插件,我们可以定义一个接口,然后实现该接口来创建具体的插件。原创 2024-08-07 23:06:20 · 390 阅读 · 0 评论 -
编译和反编译Java代码工具
编译和反编译Java代码是Java开发中的常见操作。原创 2024-08-07 22:56:50 · 303 阅读 · 0 评论 -
Maven编译打包过程
下面是一个简单的案例,演示如何使用Maven来编译一个Java项目。原创 2024-08-07 22:53:09 · 427 阅读 · 0 评论 -
Maven介绍
Maven是一个强大的项目管理和构建自动化工具,主要用于Java项目。Maven的工作基于项目的POM文件,即pom.xml。这个文件包含了项目的信息、依赖、插件配置、构建配置等。通过上述步骤,Maven能够以一致和可重复的方式构建Java项目,简化了项目的构建过程,并促进了项目的标准化。Maven支持多模块项目,每个模块都有自己的POM文件。在构建时,Maven会按照模块间的依赖关系依次构建。在pom.xml文件中,可以配置构建过程的各种方面,包括源代码目录、输出目录、插件配置等。原创 2024-08-07 22:49:23 · 289 阅读 · 0 评论 -
websocket介绍,使用
全双工通信:客户端和服务器可以在任何时候发送消息,不需要轮询。较少的开销:一旦建立连接,数据交换就可以通过这个连接进行,不需要重新建立连接。支持文本和二进制数据:WebSocket协议支持发送文本和二进制数据。原创 2024-08-02 08:21:02 · 393 阅读 · 0 评论 -
java手写一个消息通知功能
这个简单的消息通知系统展示了观察者模式的基本用法,但实际应用中可能需要更复杂的功能,比如异步通知、消息持久化等。在实际的生产环境中,你可能需要使用像Redis这样的外部消息队列系统来实现更健壮的消息通知功能。在Java中实现一个简单的消息通知功能,我们可以使用观察者模式。之后,我们移除了一个观察者,再次发送消息时,只有剩下的观察者会收到通知。在这个例子中,我们创建了两个观察者,并将它们注册到主题上。这个例子中,我们将创建一个简单的发布/订阅系统,其中。接口,以及具体的实现类。然后,创建一个具体的。原创 2024-08-02 08:14:11 · 509 阅读 · 0 评论 -
redis消息通知机制的原理和数据模型
Redis的通知机制在性能上非常高效,但牺牲了一些特性,如消息的持久化和可靠性。对于需要这些特性的场景,可能需要使用其他消息队列系统,或者结合Redis的其他数据结构(如Streams)来实现。Redis内部实现了一个事件驱动模型,这是通知机制的基础。原创 2024-08-02 08:10:43 · 571 阅读 · 0 评论 -
redis实现轻量级消息队列
Redis的发布/订阅模式允许客户端订阅一个或多个频道(channel),其他客户端可以向这些频道发送消息。当消息被发送到频道时,所有订阅该频道的客户端都会收到消息。原创 2024-08-02 08:07:38 · 432 阅读 · 0 评论 -
如何监控redis的keys命令
命令是非常重要的,因为这个命令可以列出匹配特定模式的全部key,如果使用不当可能会对Redis服务器的性能造成影响,尤其是在key数量非常多的情况下。以下是一些监控和管理。原创 2024-07-26 07:50:58 · 327 阅读 · 0 评论 -
solr和elasticsearch核心是倒排索引,底层是算法,如分词,归并,压缩,排序,缓存
倒排索引是一种数据库索引技术,被广泛应用于全文搜索引擎。其基本原理是将文档的内容拆分成关键词(或称为“词项”),然后记录每个关键词出现在哪些文档中。查询时,可以快速定位到包含特定关键词的文档集合。在实际应用中,选择Solr还是Elasticsearch,需要根据项目需求、团队技能、系统环境等因素综合考虑。原创 2024-07-09 19:54:45 · 261 阅读 · 0 评论 -
主从复制,就像有人在你背后抄作业,有从头开始抄的,有随机抄的,也有一题没抄到就停止的
MySQL主从复制(MySQL Replication)是MySQL数据库提供的一种数据同步功能,它允许将一个MySQL服务器(通常称为“主服务器”或“master”)上的数据复制到一个或多个MySQL服务器(通常称为“从服务器”或“slave”)上。主从复制主要用于数据备份、读写分离、负载均衡等场景。原创 2024-07-09 19:28:10 · 402 阅读 · 0 评论 -
缓存击穿和穿透、血崩,这三个词发明的有问题,言不达意。就是缓存失效的3个场景
缓存击穿(Cache Breakdown)是指缓存系统中某个热点数据突然失效,导致大量请求在短时间内直接访问数据库,从而对数据库造成巨大压力的现象。这种情况通常发生在某个热点数据在缓存中的过期时间到期,而同时又有大量请求需要访问该数据时。原创 2024-07-09 19:20:38 · 460 阅读 · 0 评论 -
java web框架,struts它来了
Struts2和Hibernate是Java企业版(Java EE)技术栈中的两个重要组成部分,它们分别用于Web层的框架和持久层的ORM(对象关系映射)。原创 2024-07-09 08:30:13 · 415 阅读 · 0 评论 -
MVC模式初登Web应用程序开发舞台
MVC(Model-View-Controller)是一种软件设计模式,用于将应用程序分解为三个相互关联的组件:模型(Model)、视图(View)和控制器(Controller)。这种模式在用户界面和业务逻辑之间提供了清晰的分离,使得代码更易于维护和扩展。MVC模式最初由Trygve Reenskaug在1978年提出,现在广泛应用于各种编程语言和框架中,尤其是在Web应用程序开发中。原创 2024-07-09 08:06:57 · 295 阅读 · 0 评论 -
java web 应用程序演变过程, 老鸟才知道的故事
Java Web应用程序的演变过程反映了互联网技术和Java企业版(Java EE)平台的发展。从最初的简单Servlet到现代的框架和微服务架构,Java Web应用程序经历了多次重大的变化。原创 2024-07-09 08:02:08 · 476 阅读 · 0 评论 -
使用servlet+jsp构建最原始的web应用程序
JSP(JavaServer Pages)和Servlet是Java企业版(Java EE)技术的一部分,主要用于开发动态的、基于Web的应用程序。它们在服务器端运行,生成动态的Web内容,通常用于创建企业级的Web应用程序。原创 2024-07-09 07:57:15 · 469 阅读 · 0 评论 -
web集群中session解决方案
在Web集群环境中,由于多个服务器可能同时服务于同一个应用,因此需要一种机制来保证用户的会话状态在服务器之间共享。原创 2024-07-06 20:02:50 · 396 阅读 · 0 评论 -
springboot集成activity
Spring Boot 是一个开源的 Java-based 微服务框架,用于创建独立的、生产级别的基于 Spring 的应用程序。而 Activity 是一个工作流引擎,用于构建业务流程管理(BPM)平台。将 Spring Boot 与 Activity 集成,可以使得 Spring Boot 应用拥有流程管理的功能。原创 2024-07-06 19:58:09 · 628 阅读 · 0 评论 -
一分钟了解ldap
LDAP(轻量级目录访问协议)是一种目录服务协议,用于访问和维护分布式目录信息。以下是关于LDAP的详细介绍,包括其工作原理、代码案例、同类方案以及优缺点的分析。原创 2024-07-05 08:48:09 · 464 阅读 · 0 评论 -
如何把复杂的功能做简单,如何把简单的问题做复杂
三傻大闹宝莱坞中,阿米尔汗通过裤裆的拉链解释机械的作用,引得学生哈哈大笑,一旁的老教授确气的咬牙切齿。大概视角差异导致。学生是个人学习思维,需要把复杂的问题想简单。教授是群体传授思维,需要把简单的问题说复杂。架构也可以这样。将复杂的功能简化,以及将简单的问题复杂化,是系统设计、产品开发和问题解决中常见的挑战。原创 2024-07-05 08:30:06 · 367 阅读 · 0 评论 -
oauth2.0协议介绍,核心概念和角色,工作流程,概念和用途
OAuth 2.0 是一种开放标准的授权协议,主要用于安全地授权第三方应用程序访问用户的资源,而无需共享用户的凭据。这一协议在互联网上被广泛应用,为多种应用和服务提供了强大的身份验证和授权机制。原创 2024-07-05 08:12:40 · 573 阅读 · 0 评论 -
drools框架历史,核心组件,原理,竞品
2005年,Drools项目加入了JBoss社区,并在之后成为了Red Hat的一部分。随着时间的发展,Drools逐渐成长为一个成熟的业务规则管理系统,包括规则引擎、工作流和事件处理等功能。Drools的技术原理主要基于Rete算法,这是一种高效的模式匹配算法,用于处理大量规则和事实。Rete算法通过构建一个称为Rete网络的数据结构来优化规则的匹配过程。当事实被插入到工作内存中时,Rete网络会快速地确定哪些规则的条件被满足,并将这些规则添加到议程中等待执行。原创 2024-07-04 08:05:42 · 343 阅读 · 0 评论 -
一分钟了解Drools规则引擎
Drools是一个基于Java的开源规则引擎,它允许您将业务逻辑从应用程序代码中分离出来,并以规则的形式进行管理。Drools由JBoss社区维护,并且是Apache 2.0许可证下的开源软件。原创 2024-07-04 08:00:53 · 585 阅读 · 0 评论 -
flowable流程设计器生成图片和xml文件代码案例
Flowable是一个轻量级的工作流和业务流程管理(BPM)平台,它提供了流程设计器,允许用户通过图形界面定义和建模业务流程。在Flowable中,你可以通过其提供的API将流程模型导出为图片和XML文件。以下是使用Flowable流程设计器生成图片和XML文件的基本步骤和技术原理,以及相应的代码案例。原创 2024-07-04 07:47:50 · 497 阅读 · 0 评论 -
微服务服务添加数据源、认证授权、日志记录,安全处理
为了增强Spring Boot后端服务的功能,我们可以添加数据库支持、认证授权、日志记录和安全处理。以下是如何集成这些功能的基本步骤。原创 2024-07-01 07:58:48 · 483 阅读 · 0 评论 -
springboot3.1+vue3+jdk17的前后端项目例子
创建一个使用Spring Boot 3.1、Vue 3和JDK 17的前后端分离的项目需要一些步骤。以下是一个简单的例子,展示了如何开始这样一个项目。原创 2024-07-01 07:53:50 · 677 阅读 · 0 评论 -
java单体服务的内部模块分层,前后端技术框架选型,设计模式,优缺点
在Java单体服务中,内部模块分层是一种常见的架构模式,用于将系统划分为多个层次,每个层次负责不同的职责。以下是一个典型的Java单体服务内部模块分层示例,以及前后端技术框架的选型、设计模式和优缺点的分析。原创 2024-07-01 07:49:35 · 715 阅读 · 0 评论 -
单体架构的技术框架演变
单体架构(Monolithic Architecture)是一种传统的软件架构风格,在这种架构中,所有的功能单元都集成在一个独立的软件单元中,比如一个单一的代码库或者一个应用程序。在单体架构中,所有的功能,如业务逻辑、数据库操作、用户界面等,通常都是紧密耦合在一起的。随着业务需求的增长和技术的发展,单体架构可能会遇到一些挑战,如代码难以维护、扩展性差、部署效率低等。因此,单体架构的技术框架也在不断演变,以应对这些挑战。原创 2024-07-01 07:47:38 · 463 阅读 · 0 评论 -
websocket长链接代理配置踩过的坑,代码案例,配置案例
WebSocket长连接代理配置在实施过程中可能会遇到一些问题,以下是一些常见的“坑”以及相应的解决方案和代码配置案例。原创 2024-06-27 18:24:44 · 419 阅读 · 0 评论 -
【面试官】springboot+vue3架构,跨域问题导致的前端接口状态码200,但是浏览器无响响应如何处理?
在Vue + Spring Boot架构中,如果你遇到了跨域问题导致前端接口状态码为200,但是浏览器无响应的情况,这通常是因为浏览器的CORS(跨源资源共享)策略阻止了请求的响应。尽管服务器返回了200状态码,但浏览器可能会忽略响应内容,因为它认为响应不安全。原创 2024-06-25 08:18:23 · 694 阅读 · 0 评论 -
前后端跨域问题处理方式
处理跨域请求时,不同的技术栈会有不同的实现方式。以下是一些前端使用JavaScript、Vue.js,后端使用Java,以及服务器使用Nginx处理跨域请求的示例。原创 2024-06-25 08:12:48 · 169 阅读 · 0 评论 -
JDK21新特性
JDK21 在 9 月 19 号正式发布,带来了较多亮点,其中虚拟线程备受瞩目,毫不夸张的说,它改变了高吞吐代码的编写方式,只需要小小的变动就可以让目前的 IO 密集型程序的吞吐量得到提升,写出高吞吐量的代码不再困难。原创 2024-05-16 22:04:19 · 1763 阅读 · 0 评论 -
使用jenkins实现代码拉取,编译打包,脚本部署等CICD操作
要创建一个Jenkins流水线来自动化拉取Git代码、执行Maven编译和部署服务的过程,你可以使用Jenkinsfile来定义流水线。Jenkinsfile是一个文本文件,通常放在Git仓库的根目录下,它包含了Jenkins流水线的定义。原创 2024-06-19 08:01:55 · 366 阅读 · 0 评论 -
五分钟写一个maven插件
Maven插件是Maven生态系统中的一个重要组成部分,它允许开发者在构建生命周期的各个阶段执行自定义任务。创建一个Maven插件涉及到编写Java代码以及配置插件的元数据。原创 2024-06-19 07:57:22 · 355 阅读 · 0 评论 -
创业公司老板谈为什么不用分布式微服务,而选择单体架构
选择单体架构而不是分布式微服务架构,通常是基于以下几个考虑:原创 2024-06-18 07:35:40 · 282 阅读 · 0 评论