小编ges*_*klw的帖子

什么是服务发现,为什么需要它?

据我所知,"服务发现"是指客户端了解它想要连接的服务器(或服务器集群)的方法.

我构建了使用HTTP和AMQP等协议与其他后端进程通信的Web应用程序.在这些客户端中,每个客户端都有一个配置文件,其中包含主机名或连接到服务器所需的任何信息,这些信息在部署时使用Ansible等配置工具进行设置.这很简单,似乎工作得很好.

服务发现是否只是将服务器信息放在客户端的配置文件中?如果是这样,为什么它更好?如果没有,它解决了什么问题?

architecture configuration web-services microservices

28
推荐指数
3
解决办法
1万
查看次数

无递归二叉树遍历的直观解释

我看过很多文章和书籍(以及 Stack Overflow 的答案),它们展示了如何使用显式堆栈而不是递归来迭代地进行前序、中序和后序深度优先树遍历。例如:https : //en.wikipedia.org/wiki/Tree_traversal#Depth-first_search_2

前序遍历很简单,但我认为其他的很复杂,而且远非显而易见。

是否有任何来源(最好是文章或书籍)可以直观地解释这些算法,以便您首先了解有人是如何提出这些算法的?

language-agnostic algorithm tree recursion

6
推荐指数
2
解决办法
1228
查看次数

主从复制是否确保写入出现在以后的读取中?

这是关于复制的一个非常基本的问题。

如果您使用主从复制设置数据库,其中写入到主服务器,读取到从机,这是否意味着新写入的数据在一段时间后不一定会出现在读取中?

例如,假设用户在您的网站上发表评论(写入:INSERT INTO 评论...),然后刷新页面(读取:SELECT * FROM 评论...)。读取进入一个尚未复制 INSERT 语句的从站,因此返回的注释列表中没有新的注释。这将有效地违反 ACID 的“耐久性”部分,至少是暂时的。

这真的是这样工作的吗?或者有什么方法可以确保用户始终能够阅读他们刚刚编写的内容?

sql database replication master-slave

5
推荐指数
1
解决办法
728
查看次数