02 2023 档案
摘要:
Java SE(Java Standard Edition,Java 标准版)是Java技术的核心和基础,是Java ME和Java EE编程的基础 [1] 。Java SE是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。javase主要包含:java基础语法、java常用API、IO流、多线程、集合、面对对象、基本数据结构等内容。
阅读全文

摘要:
多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻Tomcat压力,提升服务性能: 浏览器访问静态资源时,优先读取浏览器本地缓存。在多级缓存架构中,Nginx内部需要编写本地缓存查询、Redis查询、Tomcat查询的业务逻辑,因此这样的nginx服务不再是一个反向代理服务器,而是一个编写业务的Web服务器了。
阅读全文

摘要:
Seata是SpringCloud Alibaba开发出的一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT 、TCC 、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。可以很好的解决分布式系统中事务的问题。Seata的主要特点是无侵入以及高性能。对业务无侵入是指减少技术架构上的微服务化所带来的分布式事务问题对业务的侵入,高性能则是减少分布式事务解决方案所带来的性能消耗。
阅读全文

摘要:
Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。它可以是 Java 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。在接下来的文档中,我们都会用资源来描述代码块。只要通过 Sentinel API 定义的代码,就是资源,能够被 Sentinel 保护起来。大部分情况下,可以使用方法签名,URL,甚至服务名称作为资源名来标示资源。
阅读全文

摘要:
Ribbon 是Netflix公司提供的负载均衡客户端,一般应用于服务的消费方法;Ribbon 可以解决基于负载均衡策略进行服务调用, 所有策略都会实现IRule接口;Ribbon 内置的负载策略有8种,可以通过查看IRule接口的实现类进行分析;@LoadBalanced的作用是描述RestTemplate对象,用于告诉Spring框架,在使用RestTempalte进行服务调用时,这个调用过程会被一个拦截器进行拦截,然后在拦截器内部,启动负载均衡策略。
阅读全文

摘要:
Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。① 身份认证和权限校验。一切请求要先经过网关,再到微服务。请求来了,我需要验证你是谁?验证通过才放行到对应的微服务。② 服务路由、负载均衡。③ 请求限流。例如每个微服务限制的请求是500个,现在来了2000个,那么网关就会控制这些请求,进行限制。
阅读全文

摘要:
Feign是Netflix开发的一个轻量级RESTful的HTTP服务客户端(用它来发起请求,远程调用的),是以Java接口注解的方式调用Http请求,而不用像Java中通过封装 HTTP请求报文的方式直接调用,Feign被广泛应用在Spring Cloud 的解决方案中。类似于Dubbo,服务消费者拿到服务提供者的接口,然后像调用本地接口方法一样 去调用,实际发出的是远程的请求。Feign可帮助我们更加便捷,优雅的调用HTTP API:不需要我们去拼接url然后 呢调用restTemplate的api,在SpringCloud中,使用Feign非常简单,创建一个 接口(在消费者--服务调用方这一端),并在接口上添加一些注解
阅读全文

摘要:
在系统开发过程中,一些需要修改的参数和变量通常会从代码中分离出来,以独立配置文件的形式进行独立管理。其目的是使静态系统工件或交付(如war、jar包等)更好地适应实际的物理运行环境。配置管理一般包括在系统部署过程中,由系统管理员或运维人员完成。配置变更是调整运行系统行为的有效手段之一。Nacos可以作为配置中心来存储和管理配置信息。
阅读全文

摘要:
Nacos 通过提供简单易用的动态服务发现、服务配置、服务共享与管理等服务基础设施,帮助用户在云原生时代,在私有云、混合云或者公有云等所有云环境中,更好的构建、交付、管理自己的微服务平台,更快的复用和组合业务服务,更快的交付商业创新的价值,从而为用户赢得市场。
阅读全文

摘要:
基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 此实现假定哈希函数将元素适当地分布在各桶之间,可为基本操作(get 和 put)提供稳定的性能。迭代 collection 视图所需的时间与 HashMap 实例的“容量”(桶的数量)及其大小(键-值映射关系数)成比例。所以,如果迭代性能很重要,则不要将初始容量设置得太高(或将加载因子设置得太低)
阅读全文

摘要:
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
阅读全文

摘要:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
阅读全文

摘要:
Elasticsearch是位于 Elastic Stack 核心的分布式搜索和分析引擎。Elasticsearch 是索引、搜索和分析魔法发生的地方。lasticsearch 为所有类型的数据提供近乎实时的搜索和分析。无论您拥有结构化或非结构化文本、数字数据还是地理空间数据,Elasticsearch 都能以支持快速搜索的方式高效地存储和索引它。您可以超越简单的数据检索和聚合信息来发现数据中的趋势和模式。随着您的数据和查询量的增长,Elasticsearch 的分布式特性使您的部署能够随之无缝增长。
阅读全文

摘要:
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。Eureka提供了完整的Service Registry和Service Discovery实现实现,也是Spring Cloud体系中最重要的组件之一。
阅读全文
