自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

方志朋的专栏

生命不息,奋斗不止

  • 博客(236)
  • 资源 (13)
  • 收藏
  • 关注

原创 跟我学Springboot开发后端管理系统1:概述

前言Matrxi-Web是一个前后端分离的管理系统,前端采用vue开发框架,后端使用springboot开发框架,具体快速开发、简单可复用的特点。只要把整体框架搭建起来了,后面就只用写CRUD了。Matrxi-Web具备基本的管理系统的基本功能,后端CRUD代码只需要配置好数据库,便可一键生成。使用教程跟我学Spring Boot开发管理系统1:后端整体技术架构目录本项目一共有三个模块:matrix-web-backend 后端代码模块matrix-web-admin 前端代码模块mat

2020-05-28 20:00:09 7068 3

原创 Java面试BAT通关手册

转载请标明出处: https://blog.csdn.net/forezp/article/details/88823244 手机端可以关注微信公众号号查看: 2019-07-14数据库:数据库连接池原理详解与自定义连接池实现 2019-07-14数据库:数据库索引的类型 2019-07-14数据库:数据库索引优化 2019-07-13数据库...

2019-03-26 16:17:17 25248 16

原创 SpringBoot非官方教程 | 终章:文章汇总

转载请标明出处: https://blog.csdn.net/forezp/article/details/70341818 本文出自方志朋的博客SpringBoot非官方教程 | 终章:文章汇总springboot非官方教程,可能最接近于官方的一个教程,大多数案例都来自于官方文档,为了更好的理解,加入了个人的改造。码云下载:https://git.oschina...

2017-04-22 00:08:27 172488 18

原创 史上最简单的 SpringCloud 教程 | 终章

转载请标明出处: http://blog.csdn.net/forezp/article/details/70148833 本文出自方志朋的博客错过了这一篇,你可能再也学不会 Spring Cloud 了!Spring Boot做为下一代 web 框架,Spring Cloud 作为最新最火的微服务的翘楚,你还有什么理由拒绝。赶快上船吧,老船长带你飞。终章不是最后一篇,它是一个...

2017-04-12 23:14:39 1969766 391

原创 SpringCloud 2020版本教程4:使用spring cloud sleuth+zipkin实现链路追踪

Spring Cloud Sleuth+zipkin实现链路追踪Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin,你只需要在pom文件中引入相应的依赖即可。微服务架构上通过业务来划分服务的,通过REST调用,对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。随着业务的不断扩张,服务之间互相调用会越来越复杂。本小节教程将讲述如何使用sleuth和zipki

2021-04-12 17:59:47 5397

原创 SpringCloud 2020版本教程3:使用sentinel作为熔断器

什么是sentinelSentinel,中文翻译为哨兵,是为微服务提供流量控制、熔断降级的功能,它和Hystrix提供的功能一样,可以有效的解决微服务调用产生的“雪崩”效应,为微服务系统提供了稳定性的解决方案。随着Hytrxi进入了维护期,不再提供新功能,Sentinel是一个不错的替代方案。通常情况,Hystrix采用线程池对服务的调用进行隔离,Sentinel才用了用户线程对接口进行隔离,二者相比,Hystrxi是服务级别的隔离,Sentinel提供了接口级别的隔离,Sentinel隔离级别更加精细,

2021-04-12 17:59:00 7376 3

原创 SpringCloud 2020版本教程2:使用spring cloud gateway作为服务网关

Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,取代Zuul网关。网关作为流量的,在微服务系统中有着非常作用,网关常见的功能有路由转发、权限校验、限流控制等作用。在上一节的案例中,我们讲述了如何使用nacos作为服务注册中心和配置中心,使用feign和sc loadbalancer作为服务调用。本小节将讲述如何使用spring cloud gateway作为服务网关。工程构建新建一个gateway的工程,工程目录如下:gateway需要注册到nacos中

2021-04-12 17:58:18 9742 3

原创 SpringCloud 2020版本教程1:使用nacos作为注册中心和配置中心

使用nacos作为注册中心和配置中心本次教程旨在为读者提供2020版本的最佳实践方案,使用我认为最容易学习的组件,可能很多组件有很多替代方案,在这里不依依讲述。本次教程使用的组件如下:注册中心:nacos,替代方案eureka、consul、zookeeper配置中心: nacos ,替代方案sc config、consul config服务调用:feign,替代方案:resttempate熔断:sentinel、,替代方案:Resilience4j熔断监控:sentinel dashboar

2021-04-12 17:57:31 17644 10

原创 SpringCloud 2020版本教程0:springcloud 2020版本概述

Spring cloud赶在2020年最后几天发布了新版本,版本号取名为2020.0.0,取消了英国地铁的命名方式。从H版本之后,全新的命名为2020.x.x。马上快2021年了,为毛不取名为2021 ,哈哈。从maven仓库可知,当前版本为2020.0.2,版本关系Release TrainBoot Versionspring cloud alibaba version2020.0.x aka Ilford2.4.x2021.1Hoxton2.2.x, 2.3.x

2021-04-12 17:56:51 18286 2

转载 Linux-逻辑卷LVM

LVM逻辑卷管理器为什么要使用逻辑卷?逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上讲是可行的。但是却可能造成数据的丢失。LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理设备和底层架构和布局,就可以实现对硬盘分区的动态调整。LVM的技术架构图:举例理解:比如小明家里想吃馒头但是面粉不够了,于是妈妈从隔

2021-02-20 17:53:12 718 1

转载 linux 文件句柄数查看命令

当你的服务器在大并发达到极限时,就会报出“too many open files”。查看线程占句柄数ulimit -a输出如下:core file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e) 0file size (blocks, -f) unlimitedpending signals

2020-10-23 11:42:14 3033

转载 fdisk:Linux 下管理磁盘分区的利器

一块硬盘可以被划分成一个或多个逻辑磁盘,我们将其称作分区。我们对硬盘进行的划分信息被储存于建立在扇区 0 的分区表(MBR 或 GPT)中。Linux 需要至少一个分区来当作根文件系统,所以我们不能在没有分区的情况下安装 Linux 系统。当我们创建一个分区时,我们必须将它格式化为一个适合的文件系统,否则我们就没办法往里面储存文件了。要在 Linux 中完成分区的相关工作,我们需要一些工具。Linux 下有很多可用的相关工具,我们曾介绍过 Parted 命令。不过,今天我们的主角是 fdisk。人人都

2020-09-10 20:14:02 1257 1

原创 springboot集成普罗米修斯

Prometheus 是一套开源的系统监控报警框架。它由工作在 SoundCloud 的 员工创建,并在 2015 年正式发布的开源项目。2016 年,Prometheus 正式加入 Cloud Native Computing Foundation,非常的受欢迎。简介Prometheus 具有以下特点:一个多维数据模型,其中包含通过度量标准名称和键/值对标识的时间序列数据PromQL,一种灵活的查询语言,可利用此维度不依赖分布式存储; 单服务器节点是自治的时间序列收集通过HTTP上的拉模型

2020-07-20 15:52:04 15189 7

原创 五分钟体验分布式调度框架xxl-job

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。本教程主要介绍怎么在spring boot工程中快速使用xxl-job。详细的xxl-job的使用文档请参考:https://www.xuxueli.com/xxl-job/简介在xxl-job中,有2个角色:一个是调度任务管理系统,xll-job-admin另一个是xxl-job-excutor,通常是我们业务系统,比如本案例的springboot业务系

2020-06-24 15:43:28 6399

原创 五分钟体验分布式事务框架Seata

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。本教程旨在为读者提供一个快速入门seata的案例,详细使用请参考官方案例和文档。seata-server搭建在seata中,事务管理器是单独的一个服务,无需读者做二次开发,开箱即用。下载地址https://github.com/seata/seata/releases 。本文案例中使用2.1.0这个版本。下载完

2020-06-24 15:42:44 3255 2

原创 五分钟体验SpringBoot+Skywalking

Skywalking是一个分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。SkyWalking 是观察性分析平台和应用性能管理系统。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。支持Java, .Net Core, PHP, NodeJS, Golang, LUA语言探针,支持Envoy + Istio构建的Service Mesh。快速安装本案例将skywalking中的数据存储在elasticesearch中,需要

2020-06-24 15:01:37 13396 2

原创 五分钟在springboot中集成Elasticsearch

Elasticsearch 是一个开源的分布式 RESTful 搜索和分析引擎,它使您可以快速,近乎实时地存储,搜索和分析大量数据,能够解决越来越多不同的应用场景。比如用作搜索网络商店的商品,用户的搜索,交易数据的搜索。业务的收集和存储报表的分析在Springboot中如何使用elasticsearch去存储和查询数据呢,目前来说有以下几种方式比较便捷:REST ClientSpring DataSpring Data Elasticsearch Repositories本文将使用S

2020-06-18 17:21:23 10468 1

原创 跟我学Springboot开发后端管理系统8:AOP+logback+MDC日志输出

MDC介绍在比较复杂的应用中,一个请求需要走很多个方法的处理,怎么样才能快速查找一个请求的全部日志呢。在分布式系统中,我们可以用链路追踪,比如zipkin、skywalking去快速查找日志,从而定位问题。在比较复杂的单体管理系统中,我们可以使用slf4j的MDC去实现类似的功能。MDC ( Mapped Diagnostic Contexts ),是为了便于我们诊断线上问题而出现的方法工具类。使用ThreadLocal实现的,在MDC中的变量,每个线程都会有单独的副本,多线程不会相互干扰。MDC功能,

2020-06-08 18:25:39 3047

原创 跟我学Springboot开发后端管理系统8:Matrxi-Web权限设计实现

上篇文章讲述了Matrix-web整体实现的权限控制的思路。现在来回顾一下:首先,用户需要登录,填用户名、密码,后端接收到登录请求,进行用户、密码的校验,校验成功后则根据用户名生成Token,并返回给浏览器。浏览器收到Token后,会存储在本地的LocalStorge里。后续浏览器发起请求时都携带该Token,请求达到后端后,会在Filter进行判断,首选判断是否为白名单url(比如登录接口url),如果是则放行;否则进入Token验证。如果有Token且解析成功,则放行,否则,返回无权限

2020-05-28 20:04:29 3006

原创 跟我学Springboot开发后端管理系统7:Matrxi-Web权限设计

Matrxi-Web权限设计对于一个后端系统来说,权限是基础设施,是安全保障。没有权限,系统可能随时面临各种风险,所以权限设计对后端系统来说至关重要。在Javaweb开发中,有很多权限开发的框架,比如shrio、Spring security,但是都比较重量级。作为一个后端管理系统来说,用这样的权限开发框架会拖慢开发进度。所以在这个项目中,我写了一个更简单的权限控制框架,使用很简单。权限设计思路在Matrxi-Web项目中,请求需要携带Token,请求经过Filter的时候(实际项目是使用Spring

2020-05-28 20:03:55 1428

原创 跟我学Springboot开发后端管理系统6:缓存框架Caffeine

Caffeine是一个基于Java8的高性能缓存框架,号称趋于完美。Caffeine受启发于Guava Cache的API,使用API和Guava是一致的。它借鉴了Guava Cache和ConcurrentLinkedHashMap的设计经验。性能比较基准测试使用Java microbenchmark工具提供准确的分析。 缓存配置为Caffeine和ConcurrentLinkedHashMap根据CPU数量确定其内部结构的大小Guava的并发级别配置为64(默认为4,以减少内存使用)。Ehc

2020-05-28 20:03:27 1782

原创 跟我学Springboot开发后端管理系统5:数据库读写分离

在Matrix-web后台管理系统中,使用到了数据库的读写分离技术。采用的开源的Sharding-JDBC作为数据库读写分离的框架。Matrix-Web后台数据库这一块采用的技术栈如下:使用Mybatis-Plus作为ORM框架使用Druid或者HikariCP作为数据库连接池使用Sharding-JDBC 作为数据库读写分离的框架本篇文章将讲述在Sharding-JDBC在Matrix-Web中的应用。Sharding-JDBC简介Sharding-JDBC是的分布式数据库中间件解决方案。

2020-05-28 20:02:55 2146 1

原创 跟我学Springboot开发后端管理系统4:数据库连接池Druid和HikariCP

上一篇文章主要讲解了如何再Matrix-Web中使用Mybatis-Plus,Mybatis-Plus作为Orm框架,连接数据库需要连接数据库的依赖。WEB 系统高并发环境下,频繁的进行数据库连接操作,造成系统技术瓶颈问题(无效的资源开销),通过为数据库连接为建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。数据库连接池有很多,比如c3p0、Druid、Hikari等。大家常用的连接池应该是阿里开源的Druid,Druid不仅是

2020-05-28 20:02:08 1461

原创 跟我学Springboot开发后端管理系统2:Mybatis-Plus实战2

在上一篇文章讲述了如何使用Mybatis-plus自动生成代码,生成的代码具有单表操作数据库的能力,节约了开发时间。然后讲述了如何在Spring Boot中整合Mybatis-Plus。这篇文章讲述如何使用Mybatis-Plus的增强功能:自动填充功能和查询分页功能。Mybatis-Plus自动填充功能在Matrix-web项目中,数据库的所有表都有四个公共字段,即create_by、create_time、update_by、update_time ,即存储了表数据的创建人、创建时间、更新时间、更新

2020-05-28 20:01:36 1413

原创 跟我学Springboot开发后端管理系统2:Mybatis-Plus实战

在Matrix-Web项目中使用Mybatis-Plus作为操作数据库的ORM框架。在市面上常用的ORM框架有hibernetes、mybatis、JPA等,那么为什么选择Mybatis-Plus呢?主要基于以下方面考虑:兼容Mybatis,可以轻松写出很复杂的sql和业务逻辑。_简单、容易上手,单表操作不需要写mybatis的xml,代码自动生成,可以实现快速开发。基于Mybatis,和Mybatis完全兼容,和Mybatis相比,此框架无性能损耗(号称成为 MyBatis 最好的搭档)Myba

2020-05-28 20:01:05 2395 2

原创 Nepxion Discovery【探索】微服务企业级解决方案

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-POJHJ3Tu-1570768849985)(https://github.com/Nepxion/Docs/raw/master/discovery-doc/Cover.jpg)]Nepxion Discovery【探索】微服务企业级解决方案Nepxion Discovery【探索】使用指南,基于Spring C...

2019-10-11 12:41:22 3496 7

原创 Linux磁盘简介

转载请标明出处:http://blog.csdn.net/forezp/article/details/94174577本文出自方志朋的博客个人博客纯净版:https://www.fangzhipeng.com/db/2019/09/10/linux-disc.html本文主要从以下几个方面介绍Linux磁盘:磁盘的接口硬盘的设备名称文件系统RAID独立冗余磁盘阵列磁盘...

2019-10-03 12:42:59 4070

原创 ElasticSearch使用优化之拙见

转载请标明出处:http://blog.csdn.net/forezp/article/details/94174577本文出自方志朋的博客个人博客纯净版:https://www.fangzhipeng.com/db/2019/09/03/es-optimized.htmlElasticsearch常常作为日志存储和分析的工具,在企业级应用中常常使用。Elasticsearch提供强大...

2019-10-03 12:40:11 2156 1

原创 RateLimiter 源码分析(Guava 和 Sentinel 实现)

作者javadoop,资深Java工程师。本文已获作者授权发布。原文链接https://www.javadoop.com/post/rate-limiter个人博客纯净版:https://www.fangzhipeng.com/springcloud/2019/08/20/ratelimit-guava-sentinel.html本文主要介绍关于流控的两部分内容。第一部分介绍 ...

2019-08-25 10:28:47 8340 4

转载 日志排查问题困难?分布式日志链路跟踪来帮你

作者:朱乐陶,软件架构师,具备多年Java开发及架构设计经验,擅长微服务领域作者博客:https://blog.csdn.net/zlt2000个人博客纯净版https://www.fangzhipeng.com/springcloud/2019/08/21/distributed-logs.html背景开发排查系统问题用得最多的手段就是查看系统日志,在分布式环境中一般使用EL...

2019-08-25 09:39:58 5744

转载 再见微服务

本文翻译自Alexandra Noonan 的 Goodbye Microservices: From 100s of problem children to 1 superstar。内容是描述 Segment 的架构如何从 「单体应用」 -> 「微服务」 -> 「140+ 微服务」 -> 「单体应用」 的一个历程。翻译比较粗糙,如有疏漏,请不吝指教。注:下文说的目的地就是对应...

2019-08-19 13:44:38 4740 4

转载 网络:TCP、IP协议族(三) 数字签名与HTTPS详解

前面几篇博客聊了HTTP的相关东西,今天就来聊一聊HTTPS的东西。因为HTTP协议本身存在着明文传输、不能很好的验证通信方的身份和无法验证报文的完整性等一些安全方面的确点,所以才有了HTTPS的缺陷。HTTPS确切的的说不是一种协议,而是HTTP + SSL (TSL)的结合体。HTTP报文经过SSL层加密后交付给TCP层进行传输。SSL(安全套节层)主要采取的是RSA(非对称加密)与AES(对...

2019-08-14 13:19:59 2999

转载 网络:TCP、IP协议族(二) HTTP报文头解析

本篇博客我们就来详细的聊一下HTTP协议的常用头部字段,当然我们将其分为请求头和响应头进行阐述。下方是报文头每个字段的格式,首先是头部字段的名称,如Accept,冒号后方紧跟的是该字段名所对应的值,每个值之间有逗号分隔。如果该值需要优先级,那么在值的后方跟上优先级q=0.8(q的值由0~1,优先级从低到高)。值与优先级中间由分号相隔。头部字段名:值1, 值2;q=0.8下方就是截取的网络...

2019-08-14 13:18:55 3097

转载 网络:TCP、IP协议族(一) HTTP简介、请求方法与响应状态码

接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的。接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单的聊一下TCP/IP协议族,然后聊一下HTTP协议,然后再聊一下SSL上的HTTP(也就是HTTPS)了。当然TCP/IP协议族是个老生常谈的话题,网络上关于该内容的文章一抓一大把呢,但是鉴于其重要性...

2019-08-14 13:16:42 3499

原创 ELK教程3:logstash的部署、SpringBoot整合ELK+Filebeat

转载请标明出处:http://blog.csdn.net/forezp/article/details/94343671本文出自方志朋的博客本篇文章主要讲解如下安装Logstash,logstash依赖于Java环境,首先安装Java,安装脚本如下:yum install javalogstash安装Logstash的安装脚本如下:# 下载logstash的压缩包wget h...

2019-08-03 12:16:49 8594 2

原创 ELK教程2:Kibana的安装

转载请标明出处:http://blog.csdn.net/forezp/article/details/94343671本文出自方志朋的博客kibana作为ElastciSearch的数据查询展示界面,集成了很多的功能,本文主要讲述如下部署kibana。安装安装命令如下:# 下载kibana的npmwget https://artifacts.elastic.co/downloa...

2019-08-03 12:15:09 3087

原创 ELK教程1:ElasticSearch集群的部署ELK

在分布式系统中,应用数量众多,应用调用链复杂,常常使用ELK作为日志收集、分析和展示的组件。本篇文章将讲讲解如何部署ELK,然后讲解如何使用Filebeat采集Spring Boot的日志输出到Logstash上,logstash再将日志输出到Elasticsearch上,最后展示到kibana上面。整个日志采集流程如下图:在传统的日志采集只会用ELK,那么为什么需要使用filebeat呢,...

2019-08-03 12:12:38 6594

原创 Sharding-JDBC教程:Spring Boot整合Sharding-JDBC实现分库分表+读写分离

转载请标明出处:http://blog.csdn.net/forezp/article/details/94174577本文出自方志朋的博客在上一篇文章介绍了如何使用Sharding-jdbc进行分库+读写分离,这篇文章将讲述如何使用Sharding-jdbc进行分库分表+读写分离。架构回顾在数据量不是很多的情况下,我们可以将数据库进行读写分离,以应对高并发的需求,通过水平扩展从库,...

2019-06-30 18:04:58 34951 12

原创 Sharding-JDBC教程:Spring Boot整合Sharding-JDBC实现数据分表+读写分离

转载请标明出处:http://blog.csdn.net/forezp/article/details/87075651本文出自方志朋的博客读写分离在上一篇文章介绍了如何使用Sharing-JDBC实现数据库的读写分离。读写分离的好处就是在并发量比较大的情况下,将查询数据库的压力分担到多个从库中,能够满足高并发的要求。比如上一篇实现的那样,架构图如下:数据分表当数据量比较大的时...

2019-06-29 16:51:21 14233 11

原创 Sharding-JDBC教程:Spring Boot整合Sharding-JDBC实现读写分离

转载请标明出处:http://blog.csdn.net/forezp/article/details/87075651本文出自方志朋的博客Sharding-JDBC简介Sharding-JDBC是的分布式数据库中间件解决方案。Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)是3款相互独立的产品,共同组成了ShardingSpher...

2019-06-29 16:48:08 21203 14

微服务设计和部署

这篇文章来源于nginx官网的 microservice design and deply,由于官网希望注册登录才能下载,比较麻烦,所以放在这里,希望能够帮助你们。

2017-09-11

2小时学会springboot源码

2小时学会springboot

2017-03-12

工厂设计模式

工厂设计模式

2017-02-18

java高并发秒杀api源码

java高并发秒杀api源码

2016-11-29

NestedScrollView和RecyclerView使用

NestedScrollView和RecyclerView使用

2016-09-07

android 动画解析

android 动画解析

2016-07-27

android design demo

android design recyclerview toolbar coordinationlayout cardview

2016-07-08

android轮播图的例子简单

android 轮播图 的例子简单

2016-07-07

Viewpager实现今日头条顶部导航的功能

Viewpager实现今日头条顶部导航的功能

2016-06-25

EventBus 简单用法

EventBus 简单用法

2016-06-22

androidMVP例子,易懂

androidMVP例子,易懂

2016-06-22

Javascript和android原生互调,代码简洁易懂,能运行

Javascript和android原生互调,代码简洁易懂,能运行

2016-06-21

android省市区三级联动精美Ui

android省市区三级联动精美Ui ,5分钟就可以集成进去。

2016-06-16

空空如也

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

TA关注的人

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