文章 62
浏览 15135
手写mini springIoc

手写mini springIoc

背景 每次在工作中使用 spring,总会被其流畅代码思路和迷人的架构模式以及设计模式吸引,也看过一阵子源码,但总觉得了解的是是而非,所以想着何不自己手写一个 springIoc 用来梳理巩固自己所学的知识,以及自我充电 Spring 核心 **控制反转 (**IoC,Inversion of Control)(本篇文章实现) 传统的 Java 开发模式中,当需要一个对象时,我们使用 new 或者通过 getInstance 等直接或者间接调用构造方法创建一个对象,而在 Spring 开发模式中,Spring 容器使用工厂模式为我们创建了所需要的对象,不需要我们自己去创建了,直接调用 Spring 提供的对象就可以了,这就是控制反转,相信我们在用 Spring 的时候,用 XML 或者注解了解过 面向切面编程(AOP)(后续实现) 在面向对象编程(OOP)中,我们将事务纵向抽成一个个的对象,而在面向切面编程中,我们将一个个的对象某些类似的方面横向抽成一个切面,对这个切面进行一些如权限控制,事务管理,日志记录等公用操作处理的过程,就是面向切面编程的思想。 面向切面编程也是 Spring ....

Sentinel控制台规则配置详解

Sentinel控制台规则配置详解

1. Sentinel 控制台介绍 Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则 管理和推送的功能。 Sentinel 控制台包含如下功能: **查看机器列表以及健康情况:收集 Sentinel 客户端发送的心跳包,用于判断机器是否在线。 ** **监控 (单机和集群聚合):通过 Sentinel 客户端暴露的监控 API,定期拉取并且聚合应用监控信 息,最终可以实现秒级的实时监控。 ** **规则管理和推送:统一管理推送规则。 ** 鉴权:生产环境中鉴权非常重要。这里每个开发者需要根据自己的实际情况进行定制。 阿里云提供了 企业级的 Sentinel 控制台,应用高可用服务 AHAS ** 实时监控 监控接口的通过的 QPS 和拒绝的 QPS** ** 簇点链路 用来显示微服务的所监控的 API ** 流控规则 流量控制(flow control),其原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流 量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。 同一个资源可以创建多条限流规则。Flo....

Alibaba Nacos注册中心源码剖析

Alibaba Nacos注册中心源码剖析

nacos 简介 Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。 下载源码(1.4) 从 GitHub 下载 nacos 的 1.4 版本的源代码 流程架构图 架构原理 1、微服务系统在启动时将自己注册到服务注册中心,同时外发布 Http 接口供其它系统调用(一般都是基于 Spring MVC) 2、服务消费者基于 Feign 调用服务提供者对外发布的接口,先对调用的本地接口加上注解 @FeignClient,Feign 会针对加了该注解的接口生成动态代理,服务消费者针对 Feign 生成的动态代理去调用方法时,会在底层生成 Htt....

人民有信仰 民族有希望 国家有力量