Heron_社区达人页

个人头像照片
Heron
已加入开发者社区2004

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布82篇文章
0条评论
已回答0个问题
0条评论
已发布0个视频
github地址

技术能力

兴趣领域
  • Java
  • JavaScript
  • 开发工具
  • 项目管理
  • 数据库
  • 关系型数据库
擅长领域
技术认证

暂时未有相关云产品技术能力~

遨游在技术的海洋,学无止境!书山有路勤为径,学海无涯苦作舟

暂无精选文章
暂无更多信息

2023年07月

  • 07.29 16:55:46
    发表了文章 2023-07-29 16:55:46

    SpringCloud源码剖析-Eureka Client服务续约

    EureakClient会定时向EureakServer发送续约心跳(默认30s/次) ,来告诉EurekaServer自己的健康状况,默认情况下3次续约失败(90s),EurekaServer考虑剔除续约失败的客户端服务
  • 07.29 16:53:06
    发表了文章 2023-07-29 16:53:06

    SpringCloud源码剖析-Eureka Client服务发现

    我们可以看到 eurekaTransport.queryClient 得到一个EurekaHttpClient,使用的是其装饰器EurekaHttpClientDecorator.getApplications方法获取服务注册列表,这样的代码其实就是通过Rest方式去获取服务清单 最后通过 localRegionApps.set把服务存储到本地区域,然后调用AbstractJerseyEurekaHttpClient.getApplications获取所有的服务注册列表,跟踪一下源码
  • 07.29 16:49:41
    发表了文章 2023-07-29 16:49:41

    SpringCloud源码剖析-Eureka Client服务注册

    程序启动EurekaClientAutoConfiguration被加载,EurekaClient在EurekaClientAutoConfiguration 中通过“延迟@Lazy”注册。同时EurekaAutoServiceRegistration 监听启动事件,调用 EurekaServiceRegistry的register方法进行注册,该方法会触发EurekaClient的创建 。
  • 07.29 16:31:11
    发表了文章 2023-07-29 16:31:11

    SpringCloud源码剖析-Eureka Client 初始化过程

    在spring-cloud-commons-2.0.1.RELEASE.jar SpringCloud公共包中/META-INF/spring.factories配置文件中有AutoServiceRegistrationAutoConfiguration自动配置类,当应用启动SpringBoot会扫描到该自动配置类,然后注册到Spring容器
  • 07.29 16:24:14
    发表了文章 2023-07-29 16:24:14

    SpringCloud源码剖析-Eureka核心API

    Eureka是一个服务注册与发现组件,它包含了EurekaServer 服务端(也叫注册中心)和EurekaClient客户端两部分组成,EureakServer是独立的服务,而EurekaClient需要集成到每个微服务中。 微服务(EurekaClient,通常是提供者服务)在启动的时候会主动向EureakServer注册自己(如提交自己的服务名,ip,端口等),在 EurekaServer会形成一个服务注册列表。
  • 07.29 16:18:25
    发表了文章 2023-07-29 16:18:25

    SpringCloud极简入门-配置中心Spring Cloud Config

    在分布式系统中,由于服务数量很多,为了方便服务配置文件统一管理我们需要用到置中心组件。在Spring Cloud中,分布式配置中心组件spring cloud config 它可以帮我们集中管理配置文件,修改配置无需重启服务 等,它支持配置文件放在配置服务的本地,也支持放在远程如Git仓库中集中管理。在spring cloud config 分为了服务端 config server和客户端config client 两个角色。
  • 07.29 16:14:31
    发表了文章 2023-07-29 16:14:31

    SpringCloud极简入门-服务网关-spring cloud zuul

    为什么要zuul 试想一下如果我们有很多的微服务,他们都需要登录之后才能访问,那么我需要在每个微服务都去做一套登录检查逻辑,这样是不是会存在大量重复的代码和工作量,我们希望的是把登录检查这种公共的逻辑进行统一的抽取,只需要做一套检查逻辑即可,而zuul就可以用来干这类事情,我们可以把zuul看做是微服务的大门,所有的请求都需要通过zuul将请求分发到其他微服务,根据这一特性我们就可以在zuul做统一的登录检查,下游的微服务不再处理登录检查逻辑。
  • 07.29 16:10:40
    发表了文章 2023-07-29 16:10:40

    SpringCloud极简入门-服务监控-Hystrix Dashboard & Turbine

    Hystrix是一种服务熔断机制,其熔断降级策略有效的防止了微服务的雪崩问题,Hystrix的出现提高了微服务的可用性和健壮性,而Hystrix Dashboard则是用来监控Hystrix的熔断器状况的重要组件(又叫仪表盘),它提供了数据监控,健康状态,熔断状态,并发数量等等信息,和友好的图形化展示界面,能让使用者很好的监控和分析熔断器的状态。
  • 07.29 16:08:17
    发表了文章 2023-07-29 16:08:17

    SpringCloud极简入门-Feign开启Hystrix

    1.支付服务集成Hystrix 官方文档:https://cloud.spring.io/spring-cloud-static/Greenwich.SR5/single/spring-cloud.html#spring-cloud-feign-hystrix 支付服务 springcloud-pay-server-1040 之前集成了Feign,修改该工程集成Hystrix。我们除了要给Feign开启Hystrix以外还需要为Feign接口编写托底类。
  • 07.29 16:06:01
    发表了文章 2023-07-29 16:06:01

    SpringCloud极简入门-熔断器Hystrix

    在电影里面经常出现的场景,在冰山雪地不要大声呼喊,因为声音的震动会导致雪球的滑落,然后引起连锁反应导致整个雪山的崩塌这就是生活中的雪崩。在微服务里面也是一样,服务的调用非常复杂的 ,一个请求往往需要很多的微服务共同完成,可能会形成很长的服务调用链,在整个服务调用链中,某一个服务发生故障会导致调用它的服务跟着异常,然后导致整个调用链调用的异常,甚至导致整个微服务瘫痪 , — 这就是雪崩效应。
  • 07.29 16:01:34
    发表了文章 2023-07-29 16:01:34

    SpringCloud极简入门-客户端负载均衡-Feign

    在前一章节,我们使用Ribbon作为客户端负载均衡完成了订单服务和用户服务的通信,其实我们可以发现,当我们通过RestTemplate调用其它服务时,所需要的参数须在请求的URL中进行拼接,如果参数少的话或许我们还可以忍受,一旦有多个参数的话,这时拼接请求字符串就会效率低下,并且显得好傻。而Feign的服务调用方式对于程序员来说更为友好,它基于Ribbon进行了封装,把一些负责的url和参数处理细节屏蔽起来,我们只需要简单编写Fiegn的客户端接口就可以像调用本地service去调用远程微服务。
  • 07.29 15:57:57
    发表了文章 2023-07-29 15:57:57

    SpringCloud极简入门-客户端负载均衡Ribbon

    我们知道,为了防止应用出现单节点故障问题,同时为了提高应用的作业能力,我们需要对应用做集群 ,如果我们对user-server(用户服务)做了集群 ,那么这个时候回衍生出一些问题:现在有两个user-server(用户服务)就意味着有两个user-server(用户服务)的通信地址,我的order-server(订单服务)在向user-server(用户服务)发起调用的时候该访问哪个?如何访问?这个时候就需要有一个组件帮我们做请求的分发,即:负载均衡器,而Ribbon就是一个客户端负载均衡器。
  • 07.29 15:53:57
    发表了文章 2023-07-29 15:53:57

    SpringCloud极简入门-使用RestTemplate实现服务通信

    目前除了Eureka Server以外我们的微服务有订单服务springcloud-order-server-1030,和用户服务springcloud-user-server-1020 , 我们就用这两个服务来演示微服务的通信,他们的调用关系应该是:浏览器 -> 订单服务 -> 用户服务,
  • 07.29 14:06:01
    发表了文章 2023-07-29 14:06:01

    SpringCloud极简入门-Eureka集群&Eureka调优

    当微服务数量达到上百之数,一个EurekaServer所需要承担的压力会比较大,加上单节点故障问题可能会导致整个微服务不可被访问,由于EurekaServer在微服务中举足轻重,我们需要考虑对EurekaServer做高可用集群。
  • 07.29 14:01:18
    发表了文章 2023-07-29 14:01:18

    SpringCloud极简入门-服务注册与发现-Eureka

    微服务的其中一个特点是服务之间需要进行网络通信,服务器之间发起调用时调用服务得知道被调用服务的通信地址,试问当微服务数量成百上千之多,程序员该如何管理众多的服务通信地址,对于随时新增加的微服务和下线的微服务,又应该如何去动态添加和删除这些微服务的通信地址呢?所以手工管理服务的通信地址是一件遥不可及的事情,我们需要借助一个强大的工具帮我们实现这一功能 - Eureka,同类型的组件还有 zookeeper,consul等
  • 07.29 13:56:40
    发表了文章 2023-07-29 13:56:40

    SpringCloud极简入门-SpringCloud简介

    Spring cloud是一个基于Spring Boot实现的服务治理工具包,用于微服务架构中管理和协调服务的。Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。有了SpringCloud之后,让微服务架构的落地变得更简单。
  • 07.29 13:54:48
    发表了文章 2023-07-29 13:54:48

    SpringSecurity基础-记住我功能实现

    Remember me(记住我)记住我,当用户发起登录勾选了记住我,在一定的时间内再次访问该网站会默认登录成功,即使浏览器退出重新打开也是如此,这个功能需要借助浏览器的cookie实现,具体流程如下
  • 07.29 13:48:04
    发表了文章 2023-07-29 13:48:04

    SpringSecurity基础-认证授权结果处理

    在传统的应用中,认证成功后页面需要跳转到认证成功页面或者跳转到个人中心页,但是在前后端分离的项目通常是使用Ajax请求完成认证,这时候我们需要返回一个JSON结果告知前端认证结果,然后前端自行跳转页面。 要做到上述功能,我们需要自定义认证成功处理器实现AuthenticationSuccessHandler接口复写 onAuthenticationSuccess方法,该方法其中一个参数是Authentication ,他里面封装了认证信息,用户信息UserDetails等,我们需要在这个方法中使用Response写出json数据即可
  • 07.29 13:45:06
    发表了文章 2023-07-29 13:45:06

    SpringSecurity基础-授权流程

    授权一定是在认证通过之后,授权流程是通过FilterSecurityInterceptor拦截器来完成,FilterSecurityInterceptor通过调用SecurityMetadataSource来获取当前访问的资源所需要的权限,然后通过调用AccessDecisionManager投票决定当前用户是否有权限访问当前资源。授权流程如下
  • 07.29 13:42:13
    发表了文章 2023-07-29 13:42:13

    SpringSecurity基础-认证原理

    SpringSecurity是基于Filter实现认证和授权,底层通过FilterChainProxy代理去调用各种Filter(Filter链),Filter通过调用AuthenticationManager完成认证 ,通过调用AccessDecisionManager完成授权,SpringSecurity中核心的过滤器链详细如下:
  • 07.29 13:39:30
    发表了文章 2023-07-29 13:39:30

    SpringSecurity基础-简单登录实现

    1.SpringSecurity介绍 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。
  • 07.29 13:37:21
    发表了文章 2023-07-29 13:37:21

    SpringSecurity基础-认证和授权概述

    RBAC是基于角色的访问控制(Role-Based Access Control )在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。
  • 07.29 13:34:49
    发表了文章 2023-07-29 13:34:49

    linux中mongoDB安装

    linux中mongoDB安装
  • 07.29 13:26:30
    发表了文章 2023-07-29 13:26:30

    MongoDB入门-MongDB介绍和安装

    MongoDB是一个基于分布式文件存储 [1] 的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
  • 07.29 13:24:13
    发表了文章 2023-07-29 13:24:13

    高频面试题-JDK集合源码篇(String,ArrayList)

    都是List的子集合,LinkedList继承与Dqueue双端队列,看名字就能看出来前者是基于数组实现,底层采用Object[]存储元素,数组中的元素要求内存分配连续,可以使用索引进行访问,它的优势是随机访问快,但是由于要保证内存的连续性,如果删除了元素,或者从中间位置增加了元素,会设计到元素移位的操作,所以增删比较慢。
  • 07.29 13:21:59
    发表了文章 2023-07-29 13:21:59

    高频面试题-JDK源码篇(HashMap)

    我觉得HashMap是一个高频面试题,甚至被问烂了,如果你还不懂HashMap原理,你很幸运,看了这边文章之后你将不存在这个问题!这里整理了一下HahsMap可能会被问到的知识点,从源码的角度去做了一些分析,当然你可以试着自己先回答一下: HashMap底层用到了那些数据结构? 为什么要用到链表结构? 为什么要用到红黑树? HashMap如何扩容的? HashMap是如何Put一个元素的? HashMap是如何Get一个元素的? 什么是Hash冲突 还有哪些解决Hash冲突的方式?
  • 07.29 13:19:26
    发表了文章 2023-07-29 13:19:26

    Redis监听Key的过期事件

    在redis.conf配置文件中有个配置项:notify-keyspace-events " " ,默认是没有key的过期监听的,我们需要将其开启
  • 07.29 13:15:51
    发表了文章 2023-07-29 13:15:51

    Redis极简入门-认识Redis&Redis安装

    Redis 是一个高性能的 开源的、C语言写的Nosql(非关系型数据库),数据保存可以存储在内存中或者磁盘中。Redis 是以key-value形式存储,和传统的关系型数据库不一样。不一定遵循传统数据库的一些基本要求,比如说,不遵循sql标准,事务,表结构等等,redis严格上不是一种数据库,应该是一种数据结构化存储方法的集合。
  • 07.29 13:03:42
    发表了文章 2023-07-29 13:03:42
  • 07.29 12:59:40
    发表了文章 2023-07-29 12:59:40

    Redis极简入门-Redis高级特性

    1.1.什么是Redis持久化 因为Redis数据基于内存读写,为了防止Redis服务器关闭或者宕机造成数据丢失,我们通常需要对Redis最磁极化,即:把内从中的数据(命令)保存一份到磁盘做一个备份,当Redis服务关闭或者宕机, 在Redis服务器重启的时候会从磁盘重新加载备份的数据,不至于数据丢失。 Redis 提供了两种不同级别的持久化方式:RDB和AOF,可以通过修改redis.conf来进行配置. 开启持久配置后,对Redis进行写操作,在Redis安装目录将会看到持久文件:“appendonly.aof”和“ dump.rdb”。
  • 07.29 12:41:25
    发表了文章 2023-07-29 12:41:25

    Redis极简入门-Java操作Redis

    1.Java集成Jedis 开始在 Java 中使用 Redis 前, 我们需要确保已经安装并启动 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。可以取Maven仓库下载驱动包 下载 jedis.jar,。
  • 07.29 12:38:18
    发表了文章 2023-07-29 12:38:18

    Redis极简入门-Redis集群搭建-主从-哨兵-Cluster集群

    Redis为什么做集群 采用Redis集群方案解决单点故障问题 对于高并发读写请求,采用集群方案提升Redis作业能力 处理大量数据,多个Redis节点实现数据的分布式存储
  • 07.29 12:21:35
    发表了文章 2023-07-29 12:21:35

    MongoDB的存储引擎

    MongoDB是一个面向文档的NoSQL数据库,其存储原理在不同的存储引擎下可能会有所不同。MongoDB的两个主要存储引擎是MMAPv1(已弃用)和WiredTiger。
  • 发表了文章 2023-07-31

    RocketMQ极简入门-在SpringBoot中使用RocketMQ

  • 发表了文章 2023-07-31

    RocketMQ极简入门-RocketMQ事务消息

  • 发表了文章 2023-07-31

    RocketMQ极简入门-RocketMQ消息批量发送

  • 发表了文章 2023-07-31

    RocketMQ极简入门-RocketMQ延迟消息

  • 发表了文章 2023-07-31

    RocketMQ极简入门-RocketMQ顺序消息发送

  • 发表了文章 2023-07-31

    RocketMQ极简入门-RocketMQ普通消息发送

  • 发表了文章 2023-07-31

    RocketMQ极简入门-RocketMQ的工作原理

  • 发表了文章 2023-07-31

    RocketMQ极简入门-MQ概述&RocketMQ安装

  • 发表了文章 2023-07-31

    Netty入门到超神系列-BIO、NIO、AIO的认识

  • 发表了文章 2023-07-31

    Netty入门到超神系列-Java NIO 三大核心(selector,channel,buffer)

  • 发表了文章 2023-07-31

    Netty入门到超神系列-Java NIO 三大核心(selector,channel,buffer)

  • 发表了文章 2023-07-31

    Netty入门到超神系列-聊天室案例

  • 发表了文章 2023-07-31

    Netty入门到超神系列-零拷贝技术

  • 发表了文章 2023-07-31

    Netty入门到超神系列-Java NIO零拷贝实战

  • 发表了文章 2023-07-31

    Netty入门到超神系列-Netty介绍和线程模型

  • 发表了文章 2023-07-31

    Netty入门到超神系列-Netty入门&核心类

  • 发表了文章 2023-07-31

    Netty入门到超神系列-Netty开发Http服务器

  • 发表了文章 2023-07-31

    Netty入门到超神系列-手撸简单版RPC框架(仿Dubbo)

  • 发表了文章 2023-07-31

    Netty入门到超神系列-TCP粘包拆包处理

  • 发表了文章 2023-07-31

    Netty入门到超神系列-Netty使用Protobuf编码解码

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息