Advanced Search
Search Results
123 total results found
微服务优缺点
分工协作 单体:影响开发效率、发布及迭代性差,项目启动慢,每一个开发者都要对整个项目有个总体的把握 拆分:开发效率高,每个开发者专注自己负责的模块,提升了敏捷性, 并发能力 单体:整体集群,易造成系统资源浪费;无法准确的预测最大并发量,无法准确的预知服务器扩容数量 拆分:服务集群,充分利用服务器资源,可以只针对多个或单个服务扩容,容易定位问题或服务并发数量,从而实现更加准确的扩容 业务 单体:随着业务的增加,应用慢慢膨胀,难以维护 差分:根据功能垂直差分,责任更加分明,维护更加精...
SOA、分布式、微服务有什么关系
分布式架构是指将单体架构的各个部分拆分,然后部署不同的机器或进程中去,soa和微服务基本上都是微服务架构 SOA是一个面向服务的架构,系统所有服务都注册在总线上,当调用服务时,从总线上查找信息,然后调用 微服务时一种更彻底的面向服务的架构,将系统中各个功能抽象成一个个小的应用程序,基本保持一个应用对应一个服务架构
怎么进行服务拆分
高内聚】低耦合,职责单一,服务粒度适中 以业务模型切入:比如 商品、用户、订单等等 演进式拆分:刚开始不要拆分的太细、可以逐步迭代拆分 微服务1.0 仅使用服务注册发现 微服务2.0 服务注册发现,熔断、降级 微服务3.0 将服务治理作为通用组件
常用的微服务组件
注册中心(nacos 核心原理)
服务注册: 服务启动时,通过rest请求的方式向Nacos Server注册自己的服务 服务心跳:Nacos Client 会维护一个定时心跳通知Nacos Server 默认5s一次,如果超过15s没有收到心跳,会将服务设置为false(拉取服务列表时会把此服务忽略),如果nacos 服务端超过30s 没有收到心跳,则剔除服务。 服务发现:Nacos Client 会有一个定时任务,实时去Nacos Server 拉取健康服务 服务停止:Nacos Client 通过 rest 发送一个注销请求
谈谈配置中心
配置中心原理
bean 容器启动流程
扫描给定路径下的class 生成所有类的bean对象定义,并放在一个map中 然后筛选出非懒加载的BeanDefinition对象进行创建Bean,对于多例Bean不需要在启动过程中进行创建,获取时创建 利用BeanDefinition创建Beanj就是Bean的生命周期,这期间包含合并BeanDefinition、推断构造函数、实例化、属性填充、初始化、初始化后等步骤,其中AOP就是发生在初始化这一步 单例Bean创建后,Spring会发布容器启动事件 Spring 启动结束 1、AnnotatedBe...
@SpringBootApplication 注解介绍
@SpringApplication 注解是Spring Boot框架中用来标识Spring Boot应用主类的。它提供了一种快捷的方式来启动和配置Spring应用程序。 @EnableAutoConfigration注解: 负责自动配置类的导入,也就是把自动配置类导入到Spring容器中,从而得到解析 @SpringBootConfigration注解:等同于@Configration,表示当前类是一个配置类 主要作用是配置和启动Spring Boot应用。它提供了一些有用的属性,例如@ComponentS...
Bean 实例化与初始化的区别
Spring 创建一个Bean对象时,会先创建出一个Java对象,会通过反射来执行类的构造方法来得到一个Java对象,而这个过程就是Bean的实例化。 得到Bean对象后会进行依赖注入,依赖注入之后就会进行初始化了,而Bean的初始化就是调用Bean对象里面的特定方法,比如如果实现了InitialzingBean接口,那么框架就会调用aferPropertiesSet方法,或者执行init-method指定的方法
Spring Aop 与AspectJ的简明区别
AspectJ 是在编译前把额外的逻辑生成到字节码逻辑 AOP 是动态代理的,在运行中生成的 共用AspactJ一套注解 类实现了接口底层会用JDK 实现,否则就用CgLib实现
Spring 事务失效场景
没加@Configuration注解 方法内的自调用 方法是私有的,Spring事务是基于Cglib实现的,而cglib是基于父子类的,被代理对象是父类,如果被代理的方法是私有的,子类无法重写,也就无法增加Spring事务逻辑 单独线程处理事务 手动处理了异常 类没有被Spring管理 数据库不支持事务 方法被final修饰
ApplicationContext 和 BeanFactory 区别
* 1、ApplicationContext继承了BeanFactory * 2、ApplicationContext拥有BeanFactory的所有功能 * 3、ApplicationContext拥有额外的功能、例如获取环境变量、事件发布、资源等
springboot 中spring.factories 作用
spring.factories 是SpringBoot SPI机制实现的核心,SPI表示一种扩展机制,spring.factories作用是对SpringBoot进行扩展的。 在spring.factories文件中配置上接口对应的实现类即可实现对springboot的扩展。
新页面
spring 事件简介
一、实现原理 使用了设计模式当中的观察者模式,该模式是定义了一种一对多的依赖关系,多个观察者可以监听同一个主题对象,当这个对象发生变化时,会通知相应的观察者会做出相应的变化。 二、组成 事件监听器:需要继承ApplicationListener或定义@EventListener,用于监听和处理特定的事件 事件类:需要继承ApplicationEvent或子类,用于封装事件的具体信息 事件发布者:用于发布事件,应用上下文ApplicationContext已实现 Appli...
表格模板
$x=x_i$ 0 1 2 3 ... M 总和 出现次数 $m_0$ $m_1$ $m_2$ $m_3$ ... $m_M$ N 出现频率 $p^*_0$ $p^*_1$ $p^*_2$ $p^*_3$ ... $p^*_4$ 1
4.1 随机变量的数学期望
[TOC] 数学期望 举一个例子,机砖厂中的机器数据的例子 $x=x_i$ 0 1 2 3 ... M 总和 出现次数 $m_0$ $m_1$ $m_2$ $m_3$ ... $m_M$ N 出现频率 $p^*_0$ $p^*_1$ $p^*_2$ $p^*_3$ ... $p^*_4$ 1 其中 $N=\Sigma_{i=1}^{M}m_i, p^*_i = m_i /N $ 于是便可以得到机床的统计平均数据 $$\overline{X} = \Sigma_{i=1}^{M} p^*_ix...
4.1.2 随机变量函数的数学期望
设X是一个随机变量,$g(x)$是一个实函数,则$Y=g(x)$也是一个随机变量,理论上虽然也可以通过X的分布求出Y的分布,然后通过定义求出给$g(x)$的数学期望$E[g(x)]$,不不过比较复杂,下面给出定理,以简化计算。 定理4.1.1 设X是一个随机变量,$Y=g(x)$,且$E(Y)$存在则 (1). 若$X$是离散型随机变量,其概率分布为** $$P{X=x_i} = p_i, i=1,2,3,....$$ 则Y的数学期望为$$E(Y)=E[g(x)]=\Sigma_{i}^{+\infty}g(x_i...
7.1.1 点估计
[TOC] 一、什么是参数估计? 参数估计是统计推断的一种,根据总体随机抽取的样本推断总体分布未知参数的过程。 估计形式: 点估计:是指总体X的分布函数已知,但它的一个或多个参数未知,需要借助总体的一个样本估计总体的未知参数。 矩法: 基本思想是用样本中心距替换总体矩,从而求出未知参数的估计量。因为根据大数定律,若已知总体K阶矩uk存在,则样本k阶矩Ak依概率收敛于总体k阶矩即 $$ A_k \overset{P}{\longrightarrow}u_k $$, 且样本矩的连续函数依概率收敛于总体矩的连续函数。 计...
7.1.2 点估计例题
例7.1.1 设总体X的密度函数为 $$ f(x) = \begin{cases} (\alpha + 1)x^\alpha, \text{ } 0 \lt x \lt1, \alpha \gt-1, \\ \textbf 0, \text{ } 其他 \end{cases} $$ 其中 $\alpha$ 是未知参数,样本为($X_1$, $X_2$, .......,$X_n$),求$\alpha$的矩估计量。 解: 令$A_1= \overline{X} = \mu = E(x) = \frac{...