Java 是一种广泛使用的编程语言,由 Sun Microsystems(现在的 Oracle Corporation)在 1995 年发布。它是一种面向对象的语言,旨在具有尽可能少的实现依赖性
Java 是一种广泛使用的编程语言,由 Sun Microsystems(现在的 Oracle Corporation)在 1995 年发布。它是一种面向对象的语言,旨在具有尽可能少的实现依赖性
Java 是一种广泛使用的编程语言,由 Sun Microsystems(现在的 Oracle Corporation)在 1995 年发布。它是一种面向对象的语言,旨在具有尽可能少的实现依赖性
Java 是一种广泛使用的编程语言,由 Sun Microsystems(现在的 Oracle Corporation)在 1995 年发布。它是一种面向对象的语言,旨在具有尽可能少的实现依赖性
Java 是一种广泛使用的编程语言,由 Sun Microsystems(现在的 Oracle Corporation)在 1995 年发布。它是一种面向对象的语言,旨在具有尽可能少的实现依赖性
JVM平台的各种语言可以共享java虚拟机带来的跨平台性,优秀的垃圾回收机制以及可靠的即时编译器。
JVM平台的各种语言可以共享java虚拟机带来的跨平台性,优秀的垃圾回收机制以及可靠的即时编译器。
JVM平台的各种语言可以共享java虚拟机带来的跨平台性,优秀的垃圾回收机制以及可靠的即时编译器。
JVM平台的各种语言可以共享java虚拟机带来的跨平台性,优秀的垃圾回收机制以及可靠的即时编译器。
JVM平台的各种语言可以共享java虚拟机带来的跨平台性,优秀的垃圾回收机制以及可靠的即时编译器。
JVM平台的各种语言可以共享java虚拟机带来的跨平台性,优秀的垃圾回收机制以及可靠的即时编译器。
MySQL 是当前最流行的可免费使用的关系型数据库管理系统。
MariaDB 是当前最流行的可免费使用的关系型数据库管理系统。
SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制
Redis ( Remote DIctionary Server ) 是由 Salvatore Sanfilippo 开发的 key-value 缓存数据库
Redis ( Remote DIctionary Server ) 是由 Salvatore Sanfilippo 开发的 key-value 缓存数据库
《Redis 设计与实现》一书全面而完整地讲解了 Redis 的内部运行机制, 对 Redis 的大多数单机功能以及所有多机功能的实现原理进行了介绍, 展示了这些功能的核心数据结构以及关键的算法思想。
Memcached是一个自由开源的,高性能,分布式内存键值对缓存系统
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案
MyBatis 是一个开源的持久层框架,用于将对象与数据库中的记录相互映射,使开发者能够以面向对象的方式操作数据库。MyBatis 通过使用简单的 XML 或注解来配置和映射原生信息,提供了与数据库交互的接口,从而避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
这是一个为了简化开发而生的 MyBatis 增强工具,在 MyBatis 的基础上进行了扩展,提供了更多的便捷功能,使得数据库操作更加简单高效。MyBatis-Plus 在遵循 MyBatis 原有的哲学基础上,增加了一些实用的特性和工具,进一步提升了开发效率。
Hibernate 是一个高性能的对象关系型持久化存储和查询的服务,其遵循开源的 GNU Lesser General Public License (LGPL) 而且可以免费下载。Hibernate 不仅关注于从 Java 类到数据库表的映射,也有 Java 数据类型到 SQL 数据类型的映射,另外也提供了数据查询和检索服务。
jpa 的全称是 Java Persistence API , 中文的字面意思就是 java 的持久层 API , jpa 就是定义了一系列标准,让实体类和数据库中的表建立一个对应的关系,当我们在使用 java 操作实体类的时候能达到操作数据库中表的效果(不用写sql ,就可以达到效果),jpa 的实现思想即是 ORM (Object Relation Mapping),对象关系映射,用于在关系型数据库和业务实体对象之间作一个映射。
JFinal 是基于 Java 语言的极速 WEB + ORM 开发框架,其核心设计目标是开发迅速、代 码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有 Java语言所有优势的同时 再拥有 ruby、python、php 等动态语言的开发效率!
JDBC(Java DataBase Connectivity)java 数据库连接是 JavaEE 平台下的技术规范,定义了在 Java 语言中连接数据,执行 SQL 语句的标准,可以为多种关系数据库提供统一访问
Spring Boot 2.x 的系列文章,文章内容较为出色,是学习 Spring Boot 2.x 的好文章。
Spring Boot 3.x 的系列文章,文章内容较为出色,是学习 Spring Boot 3.x 的好文章。
SpringCloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
Spring Cloud Alibaba为分布式应用开发提供一站式解决方案。它包含了开发分布式应用程序所需的所有组件,使您能够轻松地使用Spring Cloud开发应用程序。
Kafka专为分布式高吞吐量系统而设计。 Kafka往往工作得很好,作为一个更传统的消息代理的替代品。 与其他消息传递系统相比,Kafka具有更好的吞吐量,内置分区,复制和固有的容错能力,这使得它非常适合大规模消息处理应用程序。
是一个在AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一。
文章主要是来阐述客户端与broker交互需要经历那些具体步骤,需要涉及那些重要的类以及方法,整体的轮廓又是如何
RocketMQ是使用Java语言开发的一款MQ产品。经过数年阿里双11的考验,性能与稳定性非常高。其 没有遵循任何常见的MQ协议,而是使用自研协议。
学习 RocketMQ源码分析 的系列文章,文章内容较为出色,是学习 RocketMQ 源码 的好文章
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
LCN本质上是一个BestEffors 1PC的框架:大多数情况下,只要应用不Crash就不会导致不一致。。
分布式事务是一种跨多个计算机或数据存储系统的事务处理模式,它保证了即使在分布式系统环境中, 事务的操作也能保持ACID属性(原子性、一致性、隔离性和持久性)。 在单体应用中,事务通常由数据库管理系统(DBMS)内部管理和控制,确保数据的一致性和完整性。 然而,在分布式系统中,事务可能需要跨越多个不同的系统和资源,如数据库、消息队列和微服务,这增加了管理事务一致性的复杂性。
分布式事务是一种跨多个计算机或数据存储系统的事务处理模式,它保证了即使在分布式系统环境中, 事务的操作也能保持ACID属性(原子性、一致性、隔离性和持久性)。 在单体应用中,事务通常由数据库管理系统(DBMS)内部管理和控制,确保数据的一致性和完整性。 然而,在分布式系统中,事务可能需要跨越多个不同的系统和资源,如数据库、消息队列和微服务,这增加了管理事务一致性的复杂性。
分布式事务是一种跨多个计算机或数据存储系统的事务处理模式,它保证了即使在分布式系统环境中, 事务的操作也能保持ACID属性(原子性、一致性、隔离性和持久性)。 在单体应用中,事务通常由数据库管理系统(DBMS)内部管理和控制,确保数据的一致性和完整性。 然而,在分布式系统中,事务可能需要跨越多个不同的系统和资源,如数据库、消息队列和微服务,这增加了管理事务一致性的复杂性。
Mycat是一个彻底开源的,面向企业应用开发的大数据库集群。定义从定义和分类来看,它是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器。
被定位为轻量级Java框架,在Java的JDBC层提供的额外服务,以jar包形式使用。
被定位为轻量级Java框架,在Java的JDBC层提供的额外服务,以jar包形式使用。
Apache ShardingSphere是一款开源的分布式数据库中间件组成的生态圈。它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(规划中)这3款相互独立的产品组成。
Apache ShardingSphere是一款开源的分布式数据库中间件组成的生态圈。它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(规划中)这3款相互独立的产品组成。
Apache ShardingSphere是一款开源的分布式数据库中间件组成的生态圈。它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(规划中)这3款相互独立的产品组成。
Zookeeper是一个分布式、开放源码的协调服务系统,旨在为分布式应用程序提供配置维护、域名服务、分布式同步和组服务等功能。
Eureka是由Netflix开发的基于REST的服务,最初设计用于在Amazon Web Services (AWS)域中定位中间层服务,以实现负载均衡和故障转移的目的。
Eureka是由Netflix开发的基于REST的服务,最初设计用于在Amazon Web Services (AWS)域中定位中间层服务,以实现负载均衡和故障转移的目的。
Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。
Nacos是一个开源的动态服务发现、配置和服务管理平台,由阿里巴巴推出。它旨在帮助开发者构建云原生应用,提供了一系列特性以支持微服务架构。
Nacos是一个开源的动态服务发现、配置和服务管理平台,由阿里巴巴推出。它旨在帮助开发者构建云原生应用,提供了一系列特性以支持微服务架构。
etcd 是使用Go语言开发的一个开源的、高可用的分布式key-value存储系统,可以用于配置共享和服务的注册和发现。
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。
Nacos是一个开源的动态服务发现、配置和服务管理平台,由阿里巴巴推出。它旨在帮助开发者构建云原生应用,提供了一系列特性以支持微服务架构。
Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。
Netty 是一个基于NIO的客户、服务器端的编程框架
zuul是Netflx公司开源的一个API网关组件,Spring Cloud对其进行二次基于Spring Boot的注解式封装做到开箱即用。
Spring Cloud Gateway作为Spring Cloud 生态系统中的网关,目标是替代 Netlix Zuul,其不仅提供统一的路由方式,并且还基于Filter链的方式提供了网关基本的功能。
Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。
Kong 是 Mashape提供的一款API管理软件,它本身是基于Ngnix + Lua的,但比 Nginx提供了更简单的配置方式,数据采用了Apache Cassandra/PostgresSQL存储,并且提供了一些优秀的插件,比如验证,日志,调用频次限制等。
Apache Dubbo 是一个高性能、轻量级的开源Java RPC框架。它提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡、以及服务自动注册和发现。
由Google开源,基于HTTP/2协议设计,支持多种语言,能够提供跨语言的服务调用。gRPC使用ProtoBuf(Google Protocol Buffers)作为接口定义语言,能够确保接口定义语言的高效性和跨平台性。
由Facebook开发并贡献给Apache的一个跨语言的服务开发框架,支持RPC服务的创建、编译和部署。Thrift同样可以用于构建高性能的服务架构,支持多种编程语言。
在Spring Cloud生态系统中,OpenFeign用于实现声明式的Web服务客户端,简化了远程调用过程。它集成了Ribbon和Hystrix,提供负载均衡和断路器的功能。
主要记录了Hadoop各个组件的基本原理,处理过程和关键的知识点等,包括HDFS、YARN、MapReduce等。
Apache Hadoop软件库是一个框架,该框架允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储
HBase是Hadoop的生态系统,是建立在Hadoop文件系统(HDFS)之上的分布式、面向列的数据库,通过利用Hadoop的文件系统提供容错能力。如果你需要进行实时读写或者随机访问大规模的数据集的时候,请考虑使用HBase!
Spark 是加州大学伯克利分校 AMP(Algorithms,Machines,People)实验室开发的通用内存并行计算框架!
Apache Flink是一个分布式流处理器,具有直观和富有表现力的 API,可实现有状态的流处理应用程序,它以容错的方式有效地大规模运行这些应用程序, 还提供了有状态的计算,支持状态管理,支持强一致性的数据语义以及支持基于Event Time的WaterMark对延迟或乱序的数据进行处理等
Apache Flink是一个分布式流处理器,具有直观和富有表现力的 API,可实现有状态的流处理应用程序,它以容错的方式有效地大规模运行这些应用程序, 还提供了有状态的计算,支持状态管理,支持强一致性的数据语义以及支持基于Event Time的WaterMark对延迟或乱序的数据进行处理等
Apache Flink是一个分布式流处理器,具有直观和富有表现力的 API,可实现有状态的流处理应用程序,它以容错的方式有效地大规模运行这些应用程序, 还提供了有状态的计算,支持状态管理,支持强一致性的数据语义以及支持基于Event Time的WaterMark对延迟或乱序的数据进行处理等
Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。 Hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。
学习 Tomcat源码分析 的系列文章,文章内容较为出色,是学习 Tomcat源码 的好文章。
Linux,通常指GNU/Linux,是一种基于Unix的开源类Unix操作系统,由芬兰大学生林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布。 Linux内核最初仅由托瓦兹个人编写,但随着社区的贡献,Linux逐渐发展成为一个强大的操作系统。
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备, 通过通信线路和通信设备连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
OAuth 2.0是一个应用之间彼此访问数据的开源授权协议。比如,一个游戏应用可以访问Facebook的用户数据或者一个基于地理的应用可以访问Foursquare的用户数据等。
Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。
Spring Security 是一个强大且高度可定制的安全框架,致力于为Java应用提供身份认证和授权功能。目前Spring Security 最新版本是 5.5.0 版本,新增了原生OAuth框架,并支持更加现代化的密码加密方式。
Elasticsearch ( ES ) 是一个基于 Lucene 的实时分布式开源的全文搜索和分析引擎。它不但稳定、可靠、快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的
Elasticsearch ( ES ) 是一个基于 Lucene 的实时分布式开源的全文搜索和分析引擎。它不但稳定、可靠、快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的
Elasticsearch ( ES ) 是一个基于 Lucene 的实时分布式开源的全文搜索和分析引擎。它不但稳定、可靠、快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的
Elasticsearch ( ES ) 是一个基于 Lucene 的实时分布式开源的全文搜索和分析引擎。它不但稳定、可靠、快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的
Solr 是一个基于 Lucene 的全文搜索服务器,它是非常流行且功能丰富的企业级搜索引擎。Solr 提供了一系列的高级特性,如全文检索、命中高亮、分面搜索、动态聚类和数据库集成等。
Lucene是apache软件基金会jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。
Hystrix 是一个开源的容灾框架,目的是为了解决当依赖服务出现故障或者接口响应时间较慢,拖慢调用方业务系统,甚至引起系统雪崩的问题。。
Resilience4j是受Hystrix启发而做的新一代轻量级熔断器,基于Java8的函数式编程开发。 Resilience4j只依赖一个Vavr包(函数式库),不需要再引入其他包,所以相对于Hystrix是轻量级的。
Resilience4j是受Hystrix启发而做的新一代轻量级熔断器,基于Java8的函数式编程开发。 Resilience4j只依赖一个Vavr包(函数式库),不需要再引入其他包,所以相对于Hystrix是轻量级的。
Sentinel是一个由阿里巴巴开源的流量控制框架,它主要用于保护微服务架构中的服务稳定性。 Sentinel 提供了多种功能,包括流量控制、熔断降级和系统负载保护。
监控系统是实现自动化运维的基础,在一个IT环境中会存在各种各样的设备,例如,硬件基础设施需要监控;软件运行状态需要监控;程序中的API需要监控;程序执行脚本需要监控;以及数据库的慢查询需要监控等等。
Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库。从字面上理解,Prometheus由两个部分组成,一个是监控报警系统,另一个是自带的时序数据库(TSDB)。
ELK是一套开源的数据分析解决方案,主要由三个组件组成: Logstash:一个日志收集、处理和转换的工具,负责从各种来源(如文件、网络流量、数据库等)收集日志数据,并将这些数据转换成统一的格式,以便后续的处理和分析。 Elasticsearch:一个分布式的搜索引擎,用于存储、搜索和分析这些经过处理的日志数据。它可以处理海量数据,并提供强大的搜索、聚合、可视化和报警功能。 Kibana:一个数据可视化工具,用于查询、分析和展示Elasticsearch中存储的日志数据,使数据更容易被理解和使用。。
SpringBoot Admin是开源社区孵化的项目,用于对SpringBoot应用的管理和监控。
Scala 是一门多范式的编程语言,Scala 源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库
Groovy是一种基于Java平台的面向对象语言。 Groovy 1.0于2007年1月2日发布,其中Groovy 2.4是当前的主要版本。 Groovy通过Apache License v 2.0发布。
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易,Go 语言提供垃圾收集,类型安全性,动态打字功能,许多高级内置类型,如可变长度数组和键值映射
Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能
C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
Gradle 是一个构建工具,是一个类似于 Maven 的开源的高级通用构建管理系统。
Maven 是一个项目管理和整合工具。Maven 为开发者提供了一套完整的构建生命周期框架。开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置,因为 Maven 使用了一个标准的目录结构和一个默认的构建生命周期。
Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统,Subversion 在 2000 年由 CollabNet Inc 开发,现在发展成为 Apache 软件基金会的一个项目,同样是一个丰富的开发者和用户社区的一部分。
所谓单元测试是测试应用程序的功能是否能够按需要正常运行,并且确保是在开发人员的水平上,单元测试生成图片。单元测试是一个对单一实体(类或方法)的测试。单元测试是每个软件公司提高产品质量、满足客户需求的重要环节
swagger-bootstrap-ui是springfox-swagger的增强UI实现,为Java开发者在使用Swagger的时候,能拥有一份简洁、强大的接口文档体验