自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 收藏
  • 关注

原创 Libra-Platform微服务平台之全链路蓝绿灰度发布

1、Libra-Platform 微服务平台Libra-Platform微服务平台。基于SpringCloud(2020.0.x) + SpringCloudAlibaba(2021.x) + SpringBoot(2.4.x) + Vue3开发,基于多租户SaaS模式的设计,拥有强大的用户中心,权限基于RBAC设计,支持全链路蓝绿灰度发布。Libra-Platform平台架构清晰、代码简洁、注解齐全,很适合作为基础框架使用。Gitee仓库地址:https://gitee.com/huangfubin/

2021-10-18 21:33:10 13132 3

原创 Libra-Platform微服务平台基于SpringCloud(2020.0.x)+SpringCloudAlibaba(2021.x)+SpringBoot(2.4.x)+Vue3开发

Libra-Platform 微服务平台仓库地址:https://gitee.com/huangfubin/LibraPlatform目前Libra-Platform平台还处于开发阶段,计划于第四季度中上旬开源,先Star不迷路。基于SpringCloud(2020.0.0) + SpringCloudAlibaba(2021.1) + SpringBoot(2.4.2) + Vue3开发,基于多租户SaaS模式的设计,拥有强大的用户中心,权限基于RBAC设计。Libra-Platform平台架构清晰、

2021-08-23 19:15:50 7270 10

原创 异步编排(CompletableFuture异步调用)

异步编排(CompletableFuture异步调用)1、问题背景2、CompletableFuture介绍2.1 创建异步对象2.2 计算完成时回调方法2.3 线程串行化方法2.4 多任务组合3、例子1、问题背景问题:当查询接口较复杂时候,数据的获取都需要远程调用,必然需要花费更多的时间。假如查询文章详情页面,需要如下标注的时间才能完成:// 1. 查询文章详情 0.5s// 2. 查询文章博主个人信息 0.5s// 3. 查询文章评论 1s// 4. 查询博主相关文章分类 1s

2020-07-10 10:30:55 10262 2

原创 【成功入坑-利用Python进行数据分析·第2版】第一章:准备工作(Preliminaries)

开始之前说点课题话,不得不说我非常喜欢老外设计书的封面,非常有意思,你有没有觉得呢。下面的内容都是我看原版外文到谷歌翻译里面翻译出来的,我的英文非常垃圾,哈哈哈哈,我也想看懂,但是实力不允许。《利用Python进行数据分析·第2版》这本书对于学习数据分析入门级别非常合适,每一章节都讲的非常好,层层关联,浅到深,各种吸引,主要的章节有:第1章 准备工作第2章 Python语法基础,IPyth...

2019-08-29 21:57:53 872 1

转载 Spring事物注解@Transactional 使用说明

Spring事物注解方式: @Transactional当标于类前时, 标示类中所有方法都进行事物处理 , 例子:@Transactional public class TestServiceBean implements TestService {}当类中某些方法不需要事物时@Transactional public class TestServiceBean implement...

2019-08-09 22:53:26 705

原创 RabbitMQ基本概念

RabbitMQ 整体上是 一个生产者与消费者模型,主要负责接收、存储和转发消息。可以把消 息传递的过程想象成:当你将一个包裹送到邮局,邮局会暂存并最终将邮件通过邮递员送到收 件人的手上, RabbitMQ 就好比由邮局、邮箱和邮递员组成的一个系统。从计算机术语层面来说, RabbitMQ 模型更像是一种交换机模型 。RabbitMQ 的整体模型架构如图 1、生产者和消费者Producer:...

2019-06-12 00:47:07 1405 3

原创 分布式下我们为什么使用redis

绝大部分的开发者,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。这里对 Redis 常见问题做一个总结,解决大家的知识盲点。目录1、为什么使用 Redis性能:并发:使用 Redis 的常见问题2、单线程的 Redis 为什么这么快原因主要是以下三点:经营方式一经营方式二3、Redis 的数据类型及使用场景4、...

2019-06-05 00:10:31 1194

原创 分享一篇来自我的毕业论文设计《基于SpringBoot的搜房网设计与实现》

分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计...

2019-05-31 23:58:14 31353 26

原创 玩转 git-flow 工作流

1、关于git-flowgit-flow 是一个 git 扩展集,按 Vincent Driessen 的分支模型提供高层次的库操作。Vincent Driessen 详情git-flow 是一个基于归并的解决方案,它并没有提供重置(rebase)特性分支的能力。简单说git-flow就干gitkraken是一个极出色的 git 界面客户端,已经提供了 git-flow 的支持。2、安装...

2019-02-01 10:48:52 2058 1

原创 通过Let's encrypt获取免费https证书

教程太过于简单真实,请做好copy准备(看完再copy,避免出意外)1、下载certbotshell> git clone https://github.com/certbot/certbot2、执行命令shell> cd certbotshell>./letsencrypt-auto certonly --standalone --email huangfubin0...

2019-01-29 19:08:04 567

原创 阿里开源分布式事务框架FESCAR

阿里FESCAR开源地址:https://github.com/alibaba/fescarWhat is FESCAR?FESCAR(Fast & Easy Commit And Rollback) 是一个用于微服务架构的分布式事务解决方案,它的特点是高性能且易于使用,旨在实现简单并快速的事务提交与回滚。微服务架构中的分布式事务问题从传统的单体应用说起,假设一个单体应用的业务由 ...

2019-01-12 11:14:55 8581

转载 MySQL的四种事务隔离级别

一、事务的基本要素(ACID)1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可...

2018-11-11 21:38:59 747

原创 JVM 内存区域的划分,哪些区域可能发生 OutOfMemoryError?

通常可以把 JVM 内存区域分为下面几个方面,其中,有的区域是以线程为单位,而有的区域则是整个 JVM 进程唯一的。第一,程序计数器(PC,Program Counter Register)。在 JVM 规范中,每个线程都有它自己的程序计数器,并且任何时间一个线程都只有一个方法在执行,也就是所谓的当前方法。程序计数器会存储当前线程正在执行的 Java 方法的JVM 指令地址;或者,如果是在执行本...

2018-10-24 18:43:53 3146

原创 Redis 主从复制(Master/Slave)模式

2018-10-19 17:02:41 623

原创 常用JDK命令

1、查看类的一些信息,如字节码的版本号、常量池等 javap -verbose [className]2、查看JVM进程 jps jcmd -l3、查看进程的GC情况 jstat -gcutil [pid] #显示总体情况...

2018-10-11 13:13:58 652

原创 idea远程调试Springboot项目

步骤如下:经过以上步骤,已经配置完启动远程服务器的参数。在远程的项目上不能直接使用java -jar方式启动项目需要加如下参数:java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 springboot-demo.jar这样服务端就监听在5005端口了。可以通过以下命令来检查是否...

2018-10-09 22:56:44 3044 3

原创 【LeetCode】二叉树的前序遍历

题目给定一个二叉树,返回它的 前序 遍历。示例:输入: [1,null,2,3]1    \       2    /3输出: [1,2,3]题目地址:https://leetcode-cn.com/problems/binary-tree-preorder-t

2018-10-06 19:53:39 541

原创 【LeetCode】删除链表中的节点

题目:删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5对链表熟悉的话,这道题相对简单一些。

2018-10-04 14:52:34 491

原创 Java 23种设计模式初步了解

目录1、总体来说设计模式分为三大类:2、具体如下:2、1创建型有:2、2行为型有:2、3结构型有:3、设计模式的六大原则1、总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式, 共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式, 共十一种:策略模式、模板方法模式、观察者模式、迭代...

2018-09-25 13:05:18 437

原创 【五】Ribbon负载均衡

1、概述1.1、是什么Spring Cloud Ribbon 是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单的说, Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load BalanCer(简称LB...

2018-09-19 22:54:07 1918

原创 【四】Eureka服务注册与发现

目录1、是什么2、原理讲解2.1、Rureka的基本架构2.2、三大角色2.3、现在搭建的工程情况3、构建步骤3.1、新建一个工程 microservicecloud-eureka-70013.2 、编写主启动类 EurekaServer7001_App3.3、测试3.4、将microservicecloud-provider-dept-8001入驻到Euerka中3.5、入驻到Euerka中测试...

2018-09-18 18:27:29 3638

原创 【三】Rest微服务构建案例工程模块

1、总体介绍1)、案例:​ 以一个Dept部门的模块做一个微服务的通用案例Consumer消费者(Client)通过REST调用提供者(Server)提供服务。2)、maven的分包分模块架构复习根据案例拆分成下面几个模块: 3)、直接动手干2、本次SpringCloud版本SpringCloud版本:Dalston.SR1SpringBoot...

2018-09-12 19:46:59 1019

原创 基于 SpringBoot+Mybatis+Redis+RabbitMQ 秒杀系统

开发工具idea 2017.2.3开发环境 JDK Maven Mysql SpringBoot redis RabbitMQ 1.8 3.2.2 5.7 1.5.10.RELEASE 3.2 项目启动说明1、启动前,请配置 application.properties 中相关redis、mysql、ra...

2018-08-14 21:32:41 24658 56

原创 【LeetCode】有效的括号

题目:给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: fal...

2018-08-05 23:23:02 264

原创 高性能负载均衡采用的算法策列

前言      负载均衡算法数量较多,而且可以根据一些业务特性进行定制开发,抛开细节上的差异,根据算法期望达到的目的,大体上可以分为下面几类。 任务平分类:负载均衡系统将收到的任务平均分配给服务器进行处理,这里的“平均”可以是绝对数量的平均,也可以是比例或者权重上的平均。     &nbsp...

2018-07-24 21:24:44 1591

原创 【二】Spring Cloud 入门 三步走Spring Cloud 入门 三步走

1、是什么1)、官网说明:​ SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。​ SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,...

2018-07-01 11:56:06 5414

原创 程序语言归类

从三个角度来说:1、检查类型 2、运行/编译 3、编程范式一、类型检查编译时:C 、C++ 、JAVA 、GO 、、、、 运行时:Python 、Perl、JavaScript、Rubu、、、、二、运行/编译编译为机器代码运行:C、C++、、、 编译成中间代码,再虚拟机运行:Java、C#、、、、、 解释执行:Python、Perl、JavaScipt、、、、...

2018-06-30 20:26:21 682

原创 【一】微服务的概述

1、是什么业界大牛 马丁.福勒(Martin Fowler )这样描述微服务:论文网址:https://martinfowler.com/articles/microservices.html#MicroservicesAndSoa中文版翻译网址:http://blog.cuicc.com/blog/2015/07/22/microservices/马丁.福勒对微服务大概的概述如下...

2018-06-12 20:56:17 5496 5

原创 【ZROE】微服务常见的面试题

1、什么是微服务?2、微服务之间是如何独立通讯的3、springCloud和dubbo 有哪些区别?4、springboot和springcloud,请你谈谈对他们的理解?5、什么是微服务熔断?什么是服务降级?6、微服务的优缺点分别是什么?说下你在项目开发中碰到的坑7、你所知道的微服务技术栈有哪些?请列举一二8、eureka和zookeeper都可以提供服务的注册和发现...

2018-06-12 20:45:46 9788 3

原创 Lombox 介绍及使用注意事项

lombox 介绍简单的说:通过简单注解老精简代码达到消除冗长代码的目的。更多详情参考官网:https://projectlombok.org/lombox优点1、提高编码效率2、使代码更加简洁3、消除冗长代码4、避免修改字段名字时忘记修改方法名5、提高代码”逼格”注:IDE上必须要支持Lombox,否者IDE会报错。lombox原理自从Java...

2018-04-22 19:10:27 1993

原创 Maven 环境隔离详细说明及操作

实际的项目环境1、本地开发环境(local)2、开发环境(dev)3、测试环境(beta)4、线上环境(prod)隔离环境之间各种配置存在的差异1、FTP服务器相关的配置不一样2、数据库配置3、支付宝支付的配置4、等等Maven环境隔离解决的实际问题1、避免人工修改的弊端,即容易犯错误2、轻松分环境编译、打包、部署3、等等Mave...

2018-04-22 18:41:21 1807 1

原创 Spring Boot Docker (八)

1、简介Docker是个开源的应用容器引擎;是一个轻量级容器技术;Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的。2、核心概念1)、docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);2)、docker客户...

2018-04-13 18:41:28 2902

原创 Spring Boot 数据访问 JDBC-Mybatis-JPA(七)

1、JDBC<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></d

2018-04-02 21:39:36 3766 2

原创 蓝桥杯

Fibonacci数列问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式n说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007...

2018-03-31 01:49:08 1164

原创 Spring Boot 内置与外置Servlet容器讲解(六)

1、配置嵌入式Servlet容器SpringBoot默认使用Tomcat作为嵌入式的Servlet容器;问题?1)、如何定制和修改Servlet容器的相关配置;1、修改和server有关的配置(ServerProperties【也是EmbeddedServletContainerCustomizer】);server.port=8081server.context...

2018-03-29 21:41:58 12061

原创 Spring Boot 错误处理机制及定制(五)

1、SpringBoot默认的错误处理机制默认效果:​ 1)、浏览器,返回一个默认的错误页面浏览器发送请求的请求头:​ 2)、如果是其他客户端,默认响应一个json数据 原理:​ 可以参照ErrorMvcAutoConfiguration;错误处理的自动配置;给容器中添加了以下组件​ 1、DefaultErrorAtt...

2018-03-28 16:54:30 7177

原创 Spring Boot Web开发 引擎模板(四)

1、简介使用SpringBoot;1)、创建SpringBoot应用,选中我们需要的模块;2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来3)、自己编写业务代码;自动配置原理?这个场景SpringBoot帮我们配置了什么?能不能修改?能修改哪些配置?能不能扩展?xxxxxxxAutoConfiguration:帮我们...

2018-03-26 20:58:04 10611

原创 Spring Boot 日志详解(三)

1、日志框架市面上的日志框架;JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j…. 日志门面 (日志的抽象层) 日志实现 JCL(Jakarta Commons Logging) SLF4j(Simple Logging Facade for Java) jboss-logging Log4j ...

2018-03-20 22:16:23 7580

原创 Spring Boot 配置文件 yml与properties (二)

1、配置文件SpringBoot使用一个全局的配置文件,配置文件名是固定的;•application.properties•application.yml配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;官方语法规YAML(YAML Ain’t Markup Language)​ YAML A Markup L...

2018-03-18 14:32:42 67205 2

原创 Spring Boot 入门学习(一)

1、简介​ Spring Boot来简化Spring应用开发,约定大于配置, 去繁从简,just run就能创建一个独立的,产品级别的应用。背景:​ J2EE笨重的开发、繁多的配置、低下的开发效率、 复杂的部署流程、第三方技术集成难度大。解决:​ “Spring全家桶”时代。 ​ Spring Boot –> J2EE一站式解决方案 ​ ...

2018-03-17 23:45:45 7076

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除