Eureka核心功能点 【1】服务注册(register):EurekaClient会通过发送REST请求的方式向EurekaServer注册自己的服务,提供自身的元数据,比如ip地址、端口、运行状况指标的url、主页地址等信息。EurekaServer接收到注册请求后,就会把这些元数据信息存储在一个双层的Map中。 【2】服务续约(renew):在服务注册后,EurekaClient会维护一个心跳来持续通知EurekaServer,说明服务一直处于可用状态,防止被剔除。EurekaClient在默认的情况下会每隔30秒(eureka.instance.leaseRenewalInterval...

  ogMD1vqSc0hO   2023年11月01日   89   0   0 Java

什么是CopyOnWrite容器   【1】CopyOnWrite容器是基于并发模式Copy-on-Write模式(最简单的并发解决方案)实现的用于避免共享的数据集合。   【2】CopyOnWrite容器又被成为写时复制的容器,即当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。这样做的好处是我们可以对CopyOnWrite容器进行并发的读,而不需要加锁,因为当前容器不会添加任何元素。所以CopyOnWrite容器也是一种读写分离的思想,读和写不同的容器。   【3】适...

  ogMD1vqSc0hO   2023年11月01日   70   0   0 Java

什么是HashMap容器 【1】HashMap是使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(JavaDevelopmetKit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。 【2】jdk1.8之前HashMap由数组+链表组成,数组是HashMap的主体,链表则是主要为了解决哈希冲突(两个对象调用的hashCode方法计算的哈希值经哈希函数算出来的地址被别的元素占用)而存在的(“拉链法”解决冲突)。jdk1.8以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(或者红黑树的边界值,默认为8)并且当前数组的长度大于64...

  ogMD1vqSc0hO   2023年11月01日   36   0   0 Java

  核心功能点 【1】服务注册:NacosClient会通过发送REST请求的方式向NacosServer注册自己的服务,提供自身的元数据,比如ip地址、端口等信息。NacosServer接收到注册请求后,就会把这些元数据信息存储在一个双层的内存Map中。 【2】服务心跳:在服务注册后,NacosClient会维护一个定时心跳来持续通知NacosServer,说明服务一直处于可用状态,防止被剔除。默认5s发送一次心跳。 【3】服务同步:NacosServer集群之间会互相同步服务实例,用来保证服务信息的一致性。   【4】服务发现:服务消费者(NacosClien...

  ogMD1vqSc0hO   2023年11月01日   82   0   0 Java

skywalking是什么 【1】skywalking是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。SkyWalking是观察性分析平台和应用性能管理系统,提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。 【2】主要流程为采集数据——》传输数据——》存储数据——》分析数据——》监控报警。   Skywalking整体架构 【1】图示:          【2】整个架构分成四部分:   1.上部分Agent:负责从应用中,收集链路信息,发送给SkyWalkingOAP服...

  ogMD1vqSc0hO   2023年11月01日   65   0   0 Java

Docker简介   【1】Docker是一个开源的容器引擎,它有助于更快地交付应用。Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用Docker可更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。   【2】Docker的优点:     1、简化程序       Docker让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是Docker的最大优势,过去需要用数天乃至数周的...

  ogMD1vqSc0hO   2023年11月01日   54   0   0 Java

 SpringMVC的介绍  【1】SpringWebMVC是基于ServletAPI构建的原始Web框架,从一开始就已包含在Spring框架中。正式名称“SpringWebMVC”来自其源模块的名称(spring-webmvc),但它通常被称为“SpringMVC”。   SpringMVC的具体执行流程: 【1】说明:   1)SpringMVC是围绕前端控制器模式设计的,其中:中央ServletDispatcherServlet为请求处理流程提供统一调度,实际工作则交给可配置组件执行。这个模型是灵活的且开放的,我们可以通过自己去定制这些组件从而进行定制自己的...

  ogMD1vqSc0hO   2023年11月01日   40   0   0 Java

Mysql的介绍 【1】MySQL是一个轻量级关系型数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,就增加了速度并提高了灵活性。 【2】sql语言分类: 名称 解释 命令 DDL 定义和管理数据对象,如:数据库,数据表等 create,drop,alter DML 用于操作数据库对象所包含的数据 insert,delete,update DQL 用于查询数据库对象所包含的数据 select DCL 用于管理数据库,包括管理权限和数据更改 grant,commit,rollback 【3】索引分类   1)聚簇索引(又称为主键索引,本质上数据...

  ogMD1vqSc0hO   2023年11月01日   101   0   0 Java

MyBatis简单介绍 【1】MyBatis是一个持久层的ORM框架【ObjectRelationalMapping,对象关系映射】,使用简单,学习成本较低。可以执行自己手写的SQL语句,比较灵活。但是MyBatis的自动化程度不高,移植性也不高,有时从一个数据库迁移到另外一个数据库的时候需要自己修改配置,所以称只为半自动ORM框架。   传统JDBC介绍 【1】简单使用 @Test publicvoidtest()throwsSQLException{ Connectionconn=null; PreparedStatementpstmt=null; try{ //1.加载驱动,...

  ogMD1vqSc0hO   2023年11月01日   68   0   0 Java

前言   本篇幅是继MyBatis详解(一)的下半部分。   MyBatis执行Sql的流程分析 【1】基于前面已经将XML文件进行build解析了并且返回了SqlSessionFactory 【1.1】那么分析SqlSessionFactory.openSession()方法是怎么返回SqlSession的,且SqlSession又是什么东西: @Override publicSqlSessionopenSession(){ returnopenSessionFromDataSource(configuration.getDefaultExecutorType(),null,fa...

  ogMD1vqSc0hO   2023年11月01日   100   0   0 Java

Spring与Dubbo整合原理与源码分析   【1】注解@EnableDubbo @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Documented @EnableDubboConfig//@EnableDubboConfig注解用来将properties文件中的配置项转化为对应的Bean @DubboComponentScan//@DubboComponentScan注解用来扫描服务提供者和引用者(@Service与@Reference) public@interfaceEnable...

  ogMD1vqSc0hO   2023年11月01日   52   0   0 架构设计

Hystrix的介绍 【1】Hystrix是springCloud的组件之一,Hystrix可以让我们在分布式系统中对服务间的调用进行控制加入一些调用延迟或者依赖故障的容错机制。 【2】Hystrix通过将依赖服务进行资源隔离进而阻止某个依赖服务出现故障时在整个系统所有的依赖服务调用中进行蔓延;【防止服务雪崩】 【3】其核心功能:   1)服务隔离(服务限流)     通过线程池或者信号量判断是否已满,超出容量的请求直接降级,以达到限流的作用。   2)服务熔断     当失败率达到阈值自动触发降级,熔断器触发的快速失败会有助于系统防止崩溃。【可以说熔断是特定条件的降级】   3)服务降级  ...

  ogMD1vqSc0hO   2023年11月01日   72   0   0 开源研究

 ReentrantLock介绍 【1】ReentrantLock是一种基于AQS框架的应用实现,是JDK中的一种线程并发访问的同步手段,它的功能类似于synchronized是一种互斥锁,可以保证线程安全。 【2】相对于synchronized,ReentrantLock具备如下特点: 1)可中断 2)可以设置超时时间 3)可以设置为公平锁 4)支持多个条件变量 5)与synchronized一样,都支持可重入   ReentrantLock问题分析 【1】ReentrantLock公平锁和非公平锁的性能谁更高?   1)那肯定是非公平锁,但是为什么是非公平更高呢? ...

  ogMD1vqSc0hO   2023年11月01日   76   0   0 开源研究

 前言   本篇幅是继 注册中心Nacos源码分析 的下半部分。    意义 【1】虽说大部分我们采用注册中心的时候考虑的都是AP架构,为什么呢?因为性能相对于CP架构来说更高,需要等待的时间更少【相对于CP架构,采用的是二段提交,AP架构是直接落盘数据,然后进行数据扩散,来达到最终一致,所以客户端收到响应会更快】; 【2】其次,考虑AP架构会不会存在数据丢失的风险呢?答案是必然的,所以是不是应该考虑CP架构呢?那么问题来了,数据丢失是问题吗?明显不是。基于AP架构的注册中心,明显在客户端那边都会存在重试机制,也就是对于一个集群而言,一台服务器...

  ogMD1vqSc0hO   2023年11月01日   139   0   0 开源研究
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~