- 博客(3375)
- 资源 (22)
- 收藏
- 关注
原创 SpringCloud Gateway 请求响应日志
请求响应日志是日常开发调试定位问题的重要手段,在微服务中引入SpringCloud Gateway后我们希望在网关层统一进行日志的收集。本节内容将实现以下两个功能:获取请求的输入输出参数,封装成自定义日志将日志发送到MongoDB进行存储获取输入输出参数首先我们先定义一个日志体@Datapublic class GatewayLog {/*访问实例/private String targetServer;/*请求路径/private String requestPath;/*请求方法
2021-05-21 15:04:35 7129 1
原创 vue跨域实现与原理(proxyTable)
1、实现1.1、使用proxyTable代理1.2、注意事项2、proxyTable原理1、实现使用vue搭建的项目在本地与后端联调时,因为是使用node运行服务器,IP与后端不一致,所以会产生跨域问题,需要使用如JSONP、跨域代理等手段进行跨域请求,而vue已经帮我们配置好了,只需要设置一下proxyTable就行。1.1、使用proxyTable代理文件路径如下,在项目根目录下的config文件夹中的index.js中配置代码如下dev{proxyTable: {‘/api’:
2021-05-20 14:33:19 5254
原创 @Bean 注解
@Bean 注解全解析随着SpringBoot的流行,基于注解式开发的热潮逐渐覆盖了基于XML纯配置的开发,而作为Spring中最核心的bean当然也能够使用注解的方式进行表示。所以本篇就来详细的讨论一下作为Spring中的Bean到底都有哪些用法。@Bean 基础声明Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。Sprin
2021-05-11 15:46:44 1085
原创 Nacos 命名空间分组和Data 三者关系
Nacos配置中心 ——基础配置 可以自动刷新,但是分类配置呢?Q1:如果实际开发中,通常一个系统会准备,dev开发环境,test测试环境,prod生产环境,那如何保证指定环境启动时服务能正确读取到Nacos上相应环境的配置文件呢?Q2:一个大型分布式微服务系统会有很多微服务子项目,每个微服务项目又都会有相应的开发环境、测试环境、预发环境、正式环境…那么怎么对这些微服务配置进行管理呢?那么这个时候就需要Nacos自身的分类管理了。Nacos 配置管理,也就是图像化界面中的————命名空间命名空
2021-05-10 13:49:10 875
原创 大量 if esle 改用规则执行器重构
业务场景近日在公司领到一个小需求,需要对之前已有的试用用户申请规则进行拓展。我们的场景大概如下所示:if (是否海外用户) { return false;}if (刷单用户) { return false;}if (未付费用户 && 不再服务时段) { return false}if (转介绍用户 || 付费用户 || 内推用户) { return true;}按照上述的条件我们可以得出的结论是:咱们的的主要流程主要是基于 and 或者 or 的
2021-05-08 11:17:26 316
原创 阿里内部常用的15款开发者工具
精选了阿里巴巴程序员常用的十几款开发者工具,希望能帮助开发者们扩展眼界、提高开发效率、更优雅的写代码。由于开发者涉及的技术领域众多,本文仅从自己熟悉的领域,以后端开发者的视角来盘点平时可能用得到的工具。每个工具按照以下几点进行介绍:1、工具名称和简介 2、使用场景 3、使用教程 4、获取方式一、Java线上诊断工具 ArthasArthas 阿里巴巴2018年9月开源的一款Java线上诊断工具。工具的使用场景:1、这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?2、
2021-05-06 15:44:38 588 1
原创 redis集群创建初始化
集群创建完毕之后,需要运行如下命令进行初始化:redis-cli --cluster create 10.233.82.142:6379 10.233.126.176:6379 10.233.95.131:6379 10.233.110.122:6379 10.233.65.142:6379 10.233.76.50:6379 --cluster-replicas 1查看节点情况cat /var/lib/redis/nodes.conf10.15.20.12redis-cli --cluster
2021-05-06 15:29:41 1442
原创 MinIO Java Client SDK使用
配置要求下载JarJava 1.8或更高版本Maven可选开发工具:IntelliJ IDEA 2019.3.5Maven下载io.miniominio3.0.10直接下载Jar你可以到maven仓库直接下载最新版的Jar。代码private static String bucketName = “bootstrap”; //桶名称public static void main(String[] args) throws NoSuchAlgorithmException, I
2021-04-29 17:11:44 579
原创 nacos使用peer 初始化容器部署集群的问题
1、重启的时候,只能把所有的节点全干掉之后,一下加到3个节点启动,这样起来是正常的2、如果是重新部署,让自动逐个的删除一个节点,再部署一个节点,这样下来,启动起来的集群就是各种不正常,经常会出现连不上3、这个可能是k8s集群的问题,或者是peer初始化容器插件的问题...
2021-04-29 17:05:01 444
原创 kubernetes搭建nacos(单机版)
MySQL 主数据库部署apiVersion: v1kind: ReplicationControllermetadata: name: mysql-master labels: name: mysql-masterspec: replicas: 1 selector: name: mysql-master template: metadata: labels: name: mysql-master spec:
2021-04-29 13:35:39 934
原创 spring-cloud-gateway统一前缀
由于前端框架需要做路由代理,需要在后端api接口加上前缀,区分前端路由跟后端接口。前后端分离项目,后端采用Spring cloud微服务架构。一、第一次尝试(失败)在spring-cloud-gateway的配置文件中直接加入应用的上下文路径(项目访问路径)server:servlet:context-path: /api在原有接口上增加“/api*“请求,请求不到相应的接口。二、深入学习spring-cloud-gateway的url处理方式1、理解spring-cloud-gateway
2021-04-28 13:54:37 3209 1
原创 使用Docker在多台物理机上搭建Redis Cluster
背景介绍由于最近在做一个缓存项目,这个项目中把Redis当作缓存,因为单机Redis性能不够的原因,就想要把单机Redis改成Redis Cluster。至于Redis Cluster原理这块,本文只是用来介绍如何使用Docker来搭建Redis Cluster,就不会很具体很深入的去介绍了。开始行动首先需要的是在服务器上安装Docker,如果已经安装了Docker,可以选择跳过这一步。安装Docker在安装Docker之前,首先要确定服务器上是否之前有安装Docker,有的话需要卸载掉它们:
2021-04-22 10:23:36 537 1
原创 springboot指定配置文件启动项目
一. ide下的springboot启动#springboot项目有如下配置文件有一个主配置文件application.yml, 在主配置文件里指定实际使用的配置文件Copy公共配置server:port: 8080servlet:context-path: /设置指定配置文件生效, 指定application-dev.yml的配置文件生效spring:profiles:active: dev直接在@SpringBootApplication注解下的main方法启动二. 基于(一
2021-04-19 14:52:19 1681 1
原创 登录中间件 JAP(JustAuthPlus) v1.0.0
JAP(JustAuthPlus) v1.0.0 版本已于2021年02月18日正式发布。另请周知,JustAuthPlus 的官网已经由 jap.fujieid.com 正式迁移到了新域名 justauth.plus[1] 下。增加•jap-mfa 模块,实现 TOTP 验证•JapUserStoreContextHolder 中增加 logout 方法,一键退出登录,支持清除 Cookie、Session等•添加单元测试修改•更新 jap.sh 脚本,支持多种常用命令•完善注释•删除
2021-02-24 08:35:32 991
原创 GraphQL DGS 框架
netflix 已开放其 Domain Graph Service(DGS)框架的源代码 ,该框架是为了方便整合 GraphQL 使用,用于简化 GraphQL 的实现。图片GraphQL 主要是作用于数据接口,比如前端后端交互。无需定义或修改后台 Controller、Service 等业务代码即可实现灵活的数据变更,客户端可以自由获取服务端事先定义好的数据,提高了交互接口的灵活性组件依赖graphql-dgs-spring-boot-startercom.netflix.graphql.dg
2021-02-22 09:32:38 1094
原创 cuba-platform和jmix框架
https://www.jmix.cn/framework/https://www.cuba-platform.cn/framework/自从CUBA平台呈现给国际开发人员社区以来,已经过了一年多的重要发布,因此在本文中,我想提供一个更新的概述,解释它为企业软件开发人员带来了什么价值。读者将学习:什么是CUBA平台及其架构?CUBA平台最有效的解决方案类型是什么?平台如何缩短开发时间?CUBA应用程序可以部署到哪些环境?如何将旧版解决方案迁移到CUBA?该平台及其开发工具的许可是什么?什
2021-02-20 14:14:56 1478
转载 10大主流压力测试工具
在移动应用和Web服务正式发布之前,除了进行必要的功能测试和安全测试,为了保证互联网产品的服务交付质量,往往还需要做压力/负载/性能测试。然而很多传统企业在试水互联网+的过程中,往往由于资源或产品迭代速度等原因忽视了这一块工作,导致新产品上线之后频繁出现卡顿等严重影响用户体验的问题。那么互联网产品为什么要进行压力/负载/性能测试,又有哪些工具帮我们实现呢,本文将为您细说端详。压力/负载/性能测试之异同在产品研发过程中,常常会混淆压力/负载/性能测试这三者之间的区别,这三种测试到底有什么不同呢?压力测试
2020-12-22 08:12:50 1898
原创 java处理字节的常用工具类
package com.demo.utils;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.nio.charset.Charset;import java.util.Arrays;
2020-12-14 11:08:11 1223
原创 js判断请求的url是否可访问,支持跨域判断的实现方法
<html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <meta name="keywords" content="js判断URL是否可访问" /> <title>js判断URL是否可访问</title></head>&.
2020-10-22 17:16:19 1564
转载 Java Web 获取客户端真实IP
发生的场景:服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等情况,在进行客户端IP限定的时候,需要首先获取该真实的IP。一般分为两种情况:方式一、客户端未经过代理,直接访问服务器端(nginx,squid,haproxy);方式二、客户端通过多级代理,最终到达服务器端(nginx,squid,haproxy); 客户端请求信息都包含在HttpServletRequest中,可以通过方法getRemoteAddr()获得该客户端IP。此时如果在使用方式一形式,可.
2020-10-16 09:06:37 655 1
转载 nginx的location判断用户端是手机还是pc端配置
配置 # 判断 pc 和 mobile 的 H5 location / { set $is_mobile false; #设置一个初始值 if ( $http_cookie ~* "ACCESS_TERMINAL=mobile" ) { #判断匹配手机端 set $is_mobile true; } if ($http_user_agent ~* (android|ip(ad|hone|od)|kindle|blackb...
2020-09-23 15:45:28 1371
转载 利用nginx来屏蔽指定的user_agent的访问
对于做国内站的我来说,我不希望国外蜘蛛来访问我的网站,特别是个别垃圾蜘蛛,它们访问特别频繁。这些垃圾流量多了之后,严重浪费服务器的带宽和资源。通过判断user agent,在nginx中禁用这些蜘蛛可以节省一些流量,也可以防止一些恶意的访问。1、进入nginx的配置目录,例如cd /usr/local/nginx/conf2、添加agent_deny.conf配置文件 vimagent_deny.conf加入以下 #禁止Scrapy等工具的抓取 if ($htt...
2020-09-23 08:55:42 1123
转载 云原生quarkus框架项目实践 微服务框架
一、quarkus 是什么?为什么要用quarkusquarkus是Redhat开源的云原生微服务框架, 相比较成熟的SpringCloud, 为什么要用quarkus?主要有以下几点原因:Spring系列框架臃肿、复杂, 更像是一个全家桶. 而quarkus 简单、高效, 工具先进 启动速度, quarkus可以在5秒内启动, 而spring对于一个golang开发者来说, 这个速度直接无法忍受. quarkus可以热编译, 无需手动编译和重启服务, 而Spring的热编译.. 与其他.
2020-09-22 16:18:52 1987
转载 Nginx配置限制图片只能通过APP(Android/IOS)和网页中访问,不允许直接访问
关键点:(1)在Nginx中通过user_agent区分请求来源是Android还是IOS。(2)通过referer来源,判断图片是网页中访问还是直接访问图片,因为如果在网页中加载图片带有referer请求参数表明网页域名(或者IP地址),直接在浏览器中打开图片是没有携带referer请求参数的。配置文件内容: server { listen 8000; location / { root /opt/root;
2020-09-21 08:56:09 2007
转载 Mybatis-Plus雪花id的使用以及解析机器 ID 和数据标识 ID
概述 结构 源码 Mybatis-Plus使用雪花id 1.引入Mybatis-Plus依赖(3.1.1版本目前有些问题,建议使用3.1.0版本) 2.在application.yml配置文件中增加如下配置项 3.原有的mapper接口增加继承BaseMapper接口 4.实体类增加注解 5.分页配置 5.1 添加mybatis的一个配置类(不添加,则分页数据中的page参数会异常) 5.2 java代码示例 生成雪花ID以及解析雪花ID的机器ID和数据中...
2020-09-07 14:01:38 3586 2
转载 分布式ID神器之雪花算法简介
雪花算法这一在分布式架构中很常见的玩意,但一般也不需要怎么去深入了解,一方面一般个人项目用不到分布式之类的大型架构,另一方面,就算要用到,市面上很多ID生成器也帮我们完成了这项工作。分布式ID的特点全局唯一性不能出现有重复的ID标识,这是基本要求。递增性确保生成ID对于用户或业务是递增的。高可用性确保任何时候都能生成正确的ID。高性能性在高并发的环境下依然表现良好。分布式ID的常见解决方案UUIDJava自带的生成一串唯一随机36位字符串(32个字符串+4个“
2020-09-07 13:58:05 646
转载 k8s-ingress配置websocket支持
问题分析表现形式websocket链接 报错 200 1 Copy WebSocket connection to 'ws://*********' faile Error during WebSocket handshake: Unexpected response code: 200 猜测引起原因以及应对方式 后端服务某些filter或者interceptor不兼容ws协议 排查后端服务的filter 或者interceptor 代.
2020-06-24 16:50:21 7349 1
原创 DockerFile模板
FROM java:8VOLUME ["/tmp","/home/docker/gkzy/cert"]COPY ./cert /home/docker/gkzy/certRUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezoneADD rz-api-sh-0.0.1.jar app.jarRUN sh -c 'touch /app.j..
2020-06-19 13:32:54 1172
原创 Unable to open nested entry ********.jar 问题解决
今天把现网版本的task的jar拖回来然后用7-zip打开拖了一个jar进去替换mysql-connector-java-5.1.47.jar 为mysql-connector-java-5.1.27.jar启动微服务的时候就报错下面的Exception in thread "main" java.lang.IllegalStateException: Failed to get nested archive for entry BOOT-INF/lib/mysql-conn...
2020-06-10 10:00:11 5229
转载 springBoot项目替换lib下的依赖jar包 Unable to open nested entry BOOT-INF/lib/
问题:springboot项目在使用压缩软件替换lib下的依赖包后,启动报错,报错内容如下:PS D:\ttmp> java -jar .\epayBusiness-2.0.2-SNAPSHOT.jarException in thread "main" java.lang.IllegalStateException: Failed to get nested archive for entry BOOT-INF/lib/ojdbc7-12.1.0.2.0.jar at or...
2020-06-10 09:55:09 6956
转载 springboot 升级依赖的第三方jar包
前言我们在实际工作中往往会遇到这样的问题,我们项目依赖的一些jar 包升级了,修复了一些漏洞,为了安全考虑,我们也需要进行升级,通常来说,我们不会深度的用到依赖的jar 包,所以升级一个小版本直接替换就完事了。但是Springboot项目并没有我们想的那么简单。打包方式首先还得从打包方式说起,我们使用的打包方式不是直接将将依赖的jar 和配置文件都打在可运行的jar 中。我们打包方式如下:pom.xml 文件:<build> <!--打包后的项目名称 -->.
2020-06-10 09:08:59 2803 1
原创 win10系统端口转发
1、添加端口转发netsh interface portproxy add v4tov4 listenport=4000 listenaddress=127.0.0.1 connectport=4000 connectaddress=172.31.217.1982、删除端口转发netsh interface portproxy del v4tov4 listenport=4000 listenaddress=127.0.0.13、查看已存在的端口映射netsh interface portprox
2020-06-05 16:42:41 1424
原创 微服务2.0 开源项目集合
k8s:https://github.com/spring-cloud/spring-cloud-kubernetes官方文档:https://kubernetes.io/docs/home/?path=users&persona=app-developer&level=foundationalfabric8:https://fabric8.io/...
2020-05-07 14:43:56 531
转载 Linux下shell脚本监控Tomcat的状态并实现自动启动
之前用Java写了个在Windows Server服务器上面扫描指定目录下的所有Tomcat服务器并定时监控其状态的Swing程序,最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,就没有考虑用Java代码写了,下面是Linux下shell脚本监控Tomcat的状态并实现自动...
2020-05-07 10:52:50 678
原创 spring cloud gateway 之zuul通过filter配置接口请求的时间耗时记录到日志
zuul中的Filter的配置,zuul中提供了三种类型的Filter,preFilter,routeFilter和postFilter,分别对应请求中的不同的阶段,针对同一个请求,有一个RequestContext对象,在三个阶段的Filter中进行共享假设我们要开发一个统计请求时间的功能,需要在preFilter里边记录开始时间,并将整个开始时间放在RequestContext中,在p...
2020-04-10 08:24:42 4082
转载 高并发之服务降级和服务熔断
服务降级:服务压力剧增的时候根据当前的业务情况及流量对一些服务和页面有策略的降级,以此环节服务器的压力,以保证核心任务的进行。同时保证部分甚至大部分任务客户能得到正确的相应。也就是当前的请求处理不了了或者出错了,给一个默认的返回。服务熔断:在股票市场,熔断这个词大家都不陌生,是指当股指波幅达到某个点后,交易所为控制风险采取的暂停交易措施。相应的,服务熔断一般是指软件系统中,由于某...
2020-01-14 10:47:53 1268
转载 Java最常用的工具类库
Apache CommonsApache Commons有很多子项目,常用的项目如下项目 作用BeanUtils 对Java Bean进行各种操作,复制对象,属性Codec 处理常用的编码,解码Collections 扩展Java集合框架的操作I/O 输入/输出工具的封装Lang java基本对象(java.lang) 方法的工具类包Bean...
2019-12-25 16:21:10 1548
转载 前后端通信进行AES加密(Vue - Java)
一. 前端工作1.安装crypto-js安装命令:npm install crypto-js2.js编写import CryptoJS from "crypto-js";const CRYPTOJSKEY= "abcdefgabcdefg12";// 加密const encrypt = (plaintText)=> { var plaintTex...
2019-12-25 09:42:10 1372
转载 2019年 Github 上最热门的 Java 开源项目
10 月份 GitHub 上最热门的Java开源项目排行已经出炉啦,在本月的名单中,实战项目类居多,当然也有像JavaGuide这样学习指南类项目,下面就是本月上榜的10个开源项目:1Javahttps://github.com/TheAlgorithms/JavaStar 18468该项目用Java实现的所有算法,对算法感兴趣的伙伴们不要错过了。...
2019-12-24 13:57:36 1822
转载 使用Nginx实现灰度发布
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度发布常见一般有三种方式: Nginx+LUA方式 根据Cookie实现灰度发布...
2019-12-05 09:10:30 621
SystemHotKeysLib.zip
2011-04-16
(FastSpring.NET2.05框架)网站源代码
2008-01-07
FastSpring.NET V2.05 RC3 开发文档
2008-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人