可为编程
无论走多远 都不要忘了当初为什么出发 知足知不足 有为有不为 为与不为皆为可为
展开
-
一台服务器部署两种MQ?同事被骂惨了
一台服务器部署了两种MQ,导致MQ挂掉,怎么排查呢?原创 2023-11-24 19:18:48 · 203 阅读 · 0 评论 -
高可用之基于Docker搭建Kafka集群
基于Docker搭建Kafka集群是最近一直在用的技术,同时也是自己的总结,采用Docker实现三台机器的集群搭建,分分钟教你学会如何搭建。原创 2022-07-26 07:24:45 · 467 阅读 · 1 评论 -
简明Nginx配置中的LocationURL详解与实战
nginx的url配置是使用nginx最基本功能。nginx作为服务器,它可以接收请求,处理请求,都是基于客户端url访问。掌握url的配置要了解配置的几个指令(=,^~)。熟悉每个匹配模式的特点。了解模式之后,对于优先级的判定,只需记住一个大的规则和两个细节,就能从容的应对了。掌握url的配置之后,更重要的是在location域中做请求的处理。比如常见的静态文件配置,请求转发(rewrite),负载均衡等。...原创 2022-07-25 20:13:46 · 1733 阅读 · 0 评论 -
看完就懂-SpringSecurity+JWT 实现单点登录
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统原创 2022-05-03 23:53:58 · 938 阅读 · 0 评论 -
Caused by: java.lang.IllegalArgumentException: Plugin [sql] was built for Elasticsearch version 7.3.
解决Elasticsearch启动拆分器版本问题Caused by: java.lang.IllegalArgumentException: Plugin [sql] was built for Elasticsearch version 7.3.0 but version 7.3.2 is running1、找到这个文件find / -name plugin-descriptor.properties2、编辑这个文件vim /usr/share/elasticsearch/plugins/sql原创 2021-12-21 18:27:15 · 1065 阅读 · 0 评论 -
k3s-The connection to the server localhost:8080 was refused - did you specify the right host or port
解决CentOS部署K3S环境8080端口异常原创 2021-12-20 14:57:58 · 2055 阅读 · 0 评论 -
kafka是如何实现高性能高吞吐的?
终于明白Kafka高吞吐高性能主要是哪几个方面了!原创 2021-12-08 20:06:56 · 1177 阅读 · 0 评论 -
最新Java面试常问知识点汇总
1、list与set有什么不同?首先list与set都是继承于Collection接口1、list是有序的,set是无序的,list是一个有序的容器,保持了每个元素的插入顺序。即输出顺序就是输入顺序,而set方法是无序容器,无法保证每个元素的存储顺序,TreeSet通过Comparator 或者 Comparable 维护了一个排序顺序 2、list里面允许有重复的数据,set里不允许有重复的数据。3、list里面允许插入多个null形式的数据,set只允许插入一个null元素4、常用的实现类原创 2020-12-31 23:37:44 · 168 阅读 · 0 评论 -
spring整合shiro(含MD5加密)
https://www.jianshu.com/p/b12b44219470转载 2020-12-22 09:48:38 · 80 阅读 · 0 评论 -
linux之CentOS部署单机版redis实战
最近在linux服务器上需要安装redis,来存放数据,增加用户访问数据的速度,由于是第一次安装,于是在百度上搜了一篇文章,按照这篇博客,顺利安装好了,因此将博主的文章拷过来记录一下,方便以后使用,也为需要的朋友提供一个方便,参考博文地址:https://www.cnblogs.com/happywish/p/10944253.html安装:1.获取redis资源wget http://download.redis.io/releases/redis-4.0.8.tar.gz2.解压tar xz原创 2020-11-11 22:31:20 · 104 阅读 · 1 评论 -
一文搞懂并学会使用SpringCloudSleuth与ZipKin服务链路追踪(史上最全)
目录碎语闲言背景1、SpringCloudSleuth是什么 1.1、SpringCloudSleuth的优势 1.1.1、耗时分析 1.1.2、可视化错误 1.1.3、链路优化 1.2 ZipKin2、为什么需要Spring Cloud Sleuth3、如何实现Spring Cloud Sleuth集成ZipKin实现服务链路追踪碎语闲言 前两天写的一个文章是关于SpringBootActuator服务监控的,很多人浏览,激发起了写博客的斗志,其实我也是出于一种学习的心态,边学习边记录,原创 2020-09-05 00:27:51 · 548 阅读 · 3 评论 -
一文搞懂并学会使用SpringBoot的Actuator运行状态监控组件
Spring Boot Actuator便可以帮助我们全方面监控应用节点比如健康检查、审计、统计、HTTP追踪等。我们可以通过JMX或者HTTP endpoints来获得。spring Boot Admin配合下可以进行页面展示,也和可以与其它外部应用系统系统整合。原创 2020-09-03 00:14:38 · 1406 阅读 · 1 评论 -
Spring Security并结合JWT实现用户认证(Authentication) 和用户授权(Authorization)
引言在Web应用开发中,安全一直是非常重要的一个方面。Spring Security基于Spring 框架,提供了一套Web应用安全性的完整解决方案。JwT (JSON Web Token) 是当前比较主源的Token令牌生成方案,非常适合作为登录和授权认证的凭证。这里我们就使用 Spring Security并结合JWT实现用户认证(Authentication) 和用户授权(Authorization) 两个主要部分的安全内容。一、JWT与Aoth2的区别在此之前,只是停留在用的阶段,对二者的原创 2020-08-09 11:43:21 · 5920 阅读 · 1 评论 -
SpringBoot使用CORS的addCorsMappings实现跨域与遇到的坑
什么是跨域问题这里我就不说了,直接说我使用addCorsMappings方法配置跨域时遇到的问题。具体代码如下:public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")转载 2020-07-19 11:29:25 · 3052 阅读 · 1 评论 -
微服务架构之链路追踪原理
一、 链路追踪的使用场景微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调用复杂性,决定了问题难以定位。所以微服务架构中,必须实现分布式链路追踪,去跟进一个请求到底有哪些服务参与,参与的顺序又是怎样的,从而达到每个请求的步骤清晰可见,出了问题,很快定位。举几个例子:在微服务系统中,一个来自用户的请求,请求先达到前端A(如前端界面),然后原创 2020-07-16 13:41:29 · 2182 阅读 · 1 评论 -
理解Registrator、Nginx、Consul架构与SpringCloud Feign、grpc、rest通信之间的不同点
在互联网应用领域,服务的动态性需求十分常见,这就对服务的自动发现和可动态扩展提出了很高的要求。微服务系统动辄上万个服务,而且还要动态伸缩。以人工写好的IP、Port 硬编码脚本的方式无法做到大规模自动化,稍微多点服务运维就傻了。微服务必然要做到ip和port自动分配,减少人工干预。我们需要让每个服务能动态的创建地址,同时调用方要能感知地址变化。这就需要有一个服务注册与发现的机制,这篇文件就是讨论如何实现这个机制。Docker 的出现,以及微服务架构的兴起,让众多开源项目开始关注在松耦合的架构前提下,如原创 2020-06-21 18:33:04 · 2532 阅读 · 1 评论 -
深入理解集群、分布式、微服务的概念、关系和区别
一、集群与分布式的区别区别: 集群是个物理形态,分布式是个工作方式。分布式:1、一个业务分拆多个子业务,部署在不同的服务器上,2、将不同的业务分布在不同的地方。3、分布式中的每一个节点,都可以做集群4、从窄意上理解,也跟集群差不多,但是它的组织比较松散5、分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了6、以缩短单个任务的执行时间来提升效率的举例分布式的目标是降低单个对象的重要度,从而提升整个系统的性能(稳定性,计算能力等等),不过代价是增加了数据传输量假如原创 2020-07-12 21:07:42 · 698 阅读 · 0 评论 -
高并发问题解决方案合集
Java项目中高并发问题的解决方案这道题是比较典型的题吧,也是我第一个公司入职的时候,面试官问我的,当时我回答只能说是星星之火,还不能燎原那种,差点被面试官给浇灭。1、采用缓存技术这是最简单的一个回答,用户缓存、页面缓存等一切缓存。使用特定的机制来进行刷新,利用消耗内存空间来换取用户的效率,同时减少数据库的访问次数。2、优化SQL语句把数据库的查询语句进行优化,一般复杂的sql语句就不要用ORM框架自带的做法来写,采用自己来写sql,hibernate中的hsl语句就会很耗时。3、优化数据库的表原创 2020-07-12 13:30:12 · 703 阅读 · 0 评论