怎么样实现微服务 怎么具体实践微服务要实际的应用微服务,需要解决一下四点问题: 1、客户端如何访问这些服务 2、每个服务之间如何通信 3、如此多的服务,如何实现? 4、服务挂了,如何解决?(备份方案,应急处理机制) 1、客户端如何访问这些服务原来的Monolithic方式开发,所有的服务都是本地的,UI可以直接调用,现在按功能拆分成独立的服务,跑在独立的(一般都在独立的虚拟机上的)进程了。客户端UI如何访问他的? 2024-05-06 开发 #后端
微服务 什么是微服务?微服务(英语:Microservices)是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关,而且复杂的服务背后是使用简单 URI 来开放接口,任何服务,任何细粒都能被开放。这个设计在 HP 的实验室被实现,具有改变复杂软件系统的强大力量。 要理解微服务,首先需要理解软件架构的演变。 单体式架构微服 2024-04-30 开发 #后端
01trie 01 trie树类似于字典树的做法,将每一个数化为二进制数,看作01串,插入到字典树中。如图1: 典型例题给一个长为$n$的数列,要求一个 $a_i$,$a_j$ ,使得 $a_i$^$a_j$ 最大。 异或的一些性质 0^1=1 1^1=0 0^0=0 p^p=0 p^0=1 自反性:a^b=c,b^c=a 问题解答首先建 2024-04-25 算法 #算法
Go操作Kafka Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,具有高性能、持久化、多副本备份、横向扩展等特点。 首先来看几个概念: 消息队列: Kafka 通过消息队列的方式来处理数据流。生产者将消息发布到 Kafka 集群中的主题(topic)中,消费者订阅这些主题并处理消息。这种解耦的模式使得生产者和消费者之间可以独立操作,从而提高了系统的可伸缩性和灵活性。 2024-04-20 开发 #Go
Go语言操作Redis Redis介绍Redis是一个开源的内存数据库,Redis提供了多种不同类型的数据结构,很多业务场景下的问题都可以很自然地映射到这些数据结构上。除此之外,通过复制、持久化和客户端分片等特性,我们可以很方便地将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次请求的系统。 Redis支持的数据结构Redis支持诸如字符串(string)、哈希(hashe)、列表(list)、集合(set)、 2024-04-17 开发 #Go
Go单元测试—网络测试 在实际中我们遇到的场景往往会比较复杂,无论我们的代码是作为server端对外提供服务或者还是我们依赖别人提供的网络服务(调用别人提供的API接口)的场景,我们通常都不想在测试过程中真正的建立网络连接。接下来就专门介绍如何在上述两种场景下mock网络测试。 httptest在Web开发场景下的单元测试,如果涉及到HTTP请求推荐大家使用Go标准库 net/http/httptest 进行测试,能够显 2024-04-15 开发 #Go
Go单元测试基础 Go语言测试go test工具Go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代码过程是类似的,并不需要学习新的语法、规则或工具。 go test命令是一个按照一定约定和组织的测试代码的驱动程序。在包目录内,所有以_test.go为后缀名的源代码文件都是go test测试的一部分,不会被go build编译到最终的可执行文件中。 在*_test.go文件中有三种类型的函数,单元 2024-04-12 开发 #Go
Inaccurate Subsequence Search 题目连接: Problem - D - Codeforces 题目描述Maxim 有一个由 $n$ 个整数组成的数组 $a$ 和一个由 $m$ 个整数组成的数组 $b$ ( $m \le n$ )。 如果数组 $c$ 中的元素可以重新排列,使得其中至少有 $k$ 个元素与数组 $b$ 中的元素匹配,那么马克西姆认为长度为 $m$ 的数组 $c$ 是好数组。 例如,如果 $b = [1, 2024-04-11 算法 #题解
Unfair Game 题目连接: Problem - F - Codeforces 题目描述爱丽丝和鲍勃在傍晚时分聚集在一起,就一个由 $n$ 个整数组成的数列玩了一个刺激的游戏,数列中的每个整数都不超过 4。游戏规则太复杂,无法描述,所以我们只描述获胜条件——如果序列中所有数字的比特XOR都非零,则爱丽丝获胜;否则,鲍勃获胜。 他们邀请夏娃担任裁判。一开始,爱丽丝和鲍勃用 $n$ 个数字进行游戏。一局游戏结束后,夏 2024-04-09 算法 #题解
在gin框架中使用JWT JWT全称JSON Web Token是一种跨域认证解决方案,属于一个开放的标准,它规定了一种Token实现方式,目前多用于前后端分离项目和OAuth2.0业务场景下。 什么是JWT?JWT全称JSON Web Token是一种跨域认证解决方案,属于一个开放的标准,它规定了一种Token 实现方式,目前多用于前后端分离项目和 OAuth2.0 业务场景下。 为什么需要JWT?在之前的一些web项目 2024-04-07 开发 #技术