- 博客(302)
- 收藏
- 关注
原创 安利一款自己开发的命令行翻译工具。command-fanyi
command-fanyi 是一个由 Golang 开发的命令行翻译工具。它能帮助开发者通过命令行快速获取翻译结果,支持多种语言对的实时翻译。不同于传统的图形化翻译工具,command-fanyi 采用了命令行界面,使得开发者能够在终端中迅速完成翻译任务,提升开发效率。使用了百度翻译 API,进一步提升了翻译的速度和准确性。
2024-11-05 13:46:48
292
原创 Echo -定制Vlidate 参数校验
参数自动绑定和参数校验在web项目开发中,是一项非常重要的功能。在保证数据安全完整性的同时,还可以极大的提升开发速度。
2024-04-29 11:29:01
280
原创 微服务 – Spring Cloud – Nacos服务注册、发现
nacos默认支持负载,因为底层nacos包集成了Ribbon。打开nacos 在服务列表即可看到注册进来的服务.在第二个服务中,配置RestTemplate。业务类中调用第一个服务的接口。
2023-06-27 22:12:46
1122
原创 微服务 – Spring Cloud – Stream
SpringCloud Stream是一个构建消息驱动微服务的框架,应用程序通过inputs或者 outputs来与SpringCloud Stream中的binder进行交互。同一个队列中多个消费者处于竞争关系,多个消费者属于不同的组,会出现重复消费的问题。同一个队列中多个消费者处于竞争关系,多个消费者属于不同的组,会出现重复消费的问题。使用 Stream 是为了 解决使用不同的消息队列技术所造成技术结构上的不同所带来的困扰。减少底层消息队列学习的一个成本,方便消息队列技术的迁移。
2023-06-25 15:33:48
996
原创 微服务 – Spring Cloud – Gateway
微服务可能分布在不同的主机上,这样有许多缺点:前端需要硬编码调用不同地址的微服务很麻烦;和Zuul的过滤器在概念上类似,可以使用它拦截和修改请求,并且对上游的响应,进行二次处理。这是一个 Java 8 的 Predicate,可以使用它来匹配来自 HTTP 请求的任何内容,例如 headers 或参数。由一个 ID,一个目标 URI,一组断言和一组过滤器定义。http://localhost:8001 位另一个微服务payment的uri地址。网关配置的基本组成模块,和Zuul的路由配置模块类似。
2023-06-24 15:27:17
1299
原创 微服务 – Spring Cloud – Hystrix
hystrix是Netlifx开源的一款容错框架,防雪崩利器,具备服务降级,服务熔断,依赖隔离,监控(Hystrix Dashboard)等功能。Hystrix 已经停更服务降级是当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。
2023-06-23 22:09:34
1959
原创 微服务 – Spring Cloud – Rabbion
Ribbon是Netflix发布的开源项目,主要目的是为客户端提供负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单地说,就是在配置文件中列出Load Balancer(简称LB)后面所有机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。
2023-06-22 00:38:52
1236
原创 微服务 – Spring Cloud – consul 安装、服务注册、服务发现
提供了微服务系统中的服务治理、配置中心、控制总线等。4、业务接口 控制器 负责 通过consul 发现 payment服务,并调用payment服务中的。1、新建子模块order 服务,并把 order服务注册到 consul 服务中心。6、运行order服务,会发现 order 服务已经注册到 consul注册中心。4、编写业务控制体,提供一个接口,供消费者服务通过consul服务发现调用。2、order模块pom引入consul 依赖。1、新建 子模块 payment 服务。接口 实现了服务发现调用。
2023-06-21 21:42:07
924
原创 微服务 – Spring Cloud –zookeeper安装以及服务注册、发现
ZooKeeper是一个集中式服务,用于维护配置信息、命名、提供分布式同步、提供组服务. 支持高度可靠的分布式协调.
2023-06-21 18:24:41
1603
原创 微服务 – Spring Cloud – Eureka自我保护机制
自我保护是一种针对网络异常波动的安全保护措施,自我保护能使Eureka集群更加的健壮、稳定的运行。因为 Eureka 客户端会定时的向 Eureka 服务端 发送心跳检测包, 默认30秒发送一次。发送目的是为了通知 Eureka 服务端你好,老六。我还在,别删我!。如果超过90秒(默认90秒),服务端没有收到 Eureka 客户端发送的心跳包,就会认为我要把你踢出去!但是如果短时间内丢失了Eureka 客户端发送的心跳包, Eureka 服务端便会触发自我保护机制。
2023-06-21 00:12:40
934
原创 微服务 – Spring Cloud – Eureka – Discovery 服务发现
在上一篇笔记中,order 服务 通过 estTemplate和@LoadBalanced 实现调用 payment服务. 是通过注册在 Eureka 集群中的服务名称来调用的。服务注册到 Eureka 集群中。需要通过 RestTemplate和@LoadBalanced 实现服务发现调用(http)。正常来讲,服务发现应该是服务调用者的事情。这里为了方便代码写在了PaymentController类里.只是为了实现自测。控制器 PaymentController.java。
2023-06-20 23:25:34
436
原创 微服务 – Spring Cloud – Eureka - RestTemplate和@LoadBalanced 实现服务发现调用(http)
服务注册用的是 Eureka集群。服务调用用的是注解 @LoadBalanced 和 RestTemplate服务数量两个: order服务 和 pyment服务 (整合Ribbon,引入依赖。在eureka依赖中,已经潜入了 Ribbon配置文件 ApplicationContextConfig.javaRestTemplate 可以结合 Eureka 来动态发现服务并进行负载均衡的调用。
2023-06-20 22:46:14
1463
原创 微服务 - Spring Cloud - Eureka Server单机和集群搭建、单机服务注册和集群服务注册
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。
2023-06-20 21:42:52
1565
原创 Go如何导入本地中另外一个module包
a 和 b 分别为两个module包或者项目,各自有独立的。sn.go文件中就可以调用sm\sm.go的代码里。文件中调用 a项目中。
2023-06-06 15:11:34
429
转载 微信开发者工具配置Less
5 在弹框中下拉至最下面,这里有两个选项,用户和工作区,用户一般是针对该用户的设置,工作区,仅是针对当前工作区的设置,一般来讲,如果是个人开发,用户的范畴大于工作区,所以在用户那个选项里可以设置自己的less设置。“outExt”:".wxss",加入该句后,我们写的 less 文件,在编译后可自动生成 wxss 文件。4 配置setting.json,一般微信开发者工具的 setting.json可以通过点击,那个设置图标,选中Extensions setting。2 然后点击那个扩展面板。
2023-06-04 18:48:58
335
原创 mvn 打包jar包。 Docker 部署 jar 包程序
默认你已经安装了jdk和maven 并且配置了环境变量. 这里贴出自己的环境配置(mac)
2023-06-03 18:39:27
621
原创 远程服务和web服务和前端,三方通过socket和websocket进行双向通信传输数据
在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。WebSocket是一种网络通信协议,是HTML5新增的特性,实现了基于浏览器的远程socket,使浏览器和服务器可以进行全双工通信。
2023-05-25 17:34:53
1488
原创 springboot+vue实现通用管理平台
基本上任何web系统、小程序、app等,都需要后台管理系统。管理系统一般都会涉及登陆、RBAC等最基本的功能。出于省时省事的目的,开发一套包含基本功能的通用后台管理系统。
2023-05-21 22:30:57
407
2
原创 区块链的加密算法
随着区块链技术的发展和广泛应用,加密算法也日益成为区块链系统中不可或缺的一部分。本文将介绍区块链中的加密算法,包括基础概念、签名算法以及隐私保护技术,旨在介绍这些技术的原理和特点,并探讨其在未来区块链技术发展中的潜力和应用前景。1 区块链的加密算法基础概念在介绍区块链中的加密算法之前,我们需要了解一些密码学基础知识。其中,哈希函数是最基本的一种密码学算法。它能够将任意长度的输入数据转换为固定长度的输出值,通常称为哈希值。哈希函数的主要作用是用于验证数据的完整性和唯一性,可以防止数据篡改和重复使用。
2023-05-14 00:27:07
2008
原创 基于C语言和C++实现的系统合集
1. 基于C++ 通讯录系统功能:添加联系人: 像通讯录中添加联系人。包括(姓名、性别、年龄、联系电话、家庭住址)不超过1000人显示联系人: 显示通讯录中所有联系人信息删除联系人: 按照姓名进行删除指定的联系人查找联系人: 按照姓名查看指定联系人信息修改联系人: 按照姓名重新修改指定联系人清空联系人: 清空通讯录中所有信息退出通讯录: 退出当前使用的通讯录
2023-05-13 14:58:37
87
原创 服务接口API限流
比如,对于A接口来说,我们1分钟的访问次数不能超过100个。那么我们可以这么做:在一开始的时候,我们可以设置一个计数器counter,每当一个请求过来的时候,counter就加1,如果counter的值大于100并且该请求与第一个请求的间隔时间还在1分钟之内,那么说明请求数过多;如果该请求与第一个请求的间隔时间大于1分钟,且counter的值还在限流范围内,那么就重置counter。通过限流,我们可以很好地控制系统的qps,从而达到保护系统或者接口服务器稳定的目的等。
2023-05-03 11:23:48
1030
原创 docker安装配置gitlab
按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/Users/cc/docker/gitlab/config/gitlab.rb)打开浏览器输入ip地址(因为我的gitlab端口为80,所以浏览器url不用输入端口号,如果端口号不是80,则打开为:ip:端口号)###7. 最终效果图。
2023-04-07 16:29:36
575
原创 Elasticsearch+head+Ik中文分词器的安装以及Go操作Elasticsearch
elasticsearch是一个基于Lucene的搜索服务器,采用Java语言编写,使用Lucene构建索引、提供搜索功能,并作为Apache许可条款下的开发源码发布,是当前流行的企业级搜索引擎。其实Lucene的功能已经很强大了,为什么还要多此一举的开发elasticsearch呢?原因是因为Lucene只是一个由Java语言编写的库,对不适用Java语言的开发人员并不友好。所以elasticsearch在Lucene上做了很多改进,提供了多种语言的接口。
2023-04-06 11:03:07
482
原创 基于go-zero、xorm实现的云盘文件存储系统
基于go-zero、xorm实现的云盘文件存储系统本文代码地址:https://github.com/jeffcail/go-cloud-storage。
2022-12-21 20:08:24
910
原创 Go实现随机、轮训、权重、哈希负载均衡
负载均衡(Load Balance,简称 LB)是高并发、高可用系统必不可少的关键组件,目标是 尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性高并发:负载均衡通过算法调整负载,尽力均匀的分配应用集群中各节点的工作量,以此提高应用集群的并发处理能力(吞吐量)。伸缩性:添加或减少服务器数量,然后由负载均衡进行分发控制。这使得应用集群具备伸缩性。高可用:负载均衡器可以监控候选服务器,当服务器不可用时,自动跳过,将请求分发给可用的服务器。这使得应用集群具备高可用的特性。
2022-11-16 16:23:40
1033
原创 Go 实现对返回的map进行分页
根据业务场景需要,API接口可能需要对一个map类型的数据进行json序列化返回给前端,当map中的key过多时,也是需要分页的。
2022-11-16 14:19:22
370
原创 Go 封装http请求包Get、Post
之前已经封装过包.今天再把项目中经常会用到的一个技术封装成包,记录下来,仅供需要的小伙伴学习参考go如何封装包给别人和自己使用。有需要的小伙伴也可以在自己的项目中直接使用此包。这里小编以github为例 (go的很多第三方包都在github上),其他平台大同小异。
2022-11-12 03:01:11
1427
原创 Go 控制Goroutine的数量
Goroutine虽然体量很小(2kb),理论可以开启上百万个Goroutine。一旦Goroutine过多,会占用大量的cpu 内存,可能导致服务器速度变慢甚至服务挂掉。先看一下不控制Goroutine数量,看能跑多少。如何控制Goroutine。
2022-11-11 10:04:47
603
原创 Go实现udp服务
画dp 被称为用户数据报协议(UDP,User Datagram Protocol。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。音视频通话、游戏、工业物联网传感器等。
2022-11-05 13:04:24
1400
mysql-connector-java-5.1.48.jar
2023-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人