计算机

什么是服务网格?

1 什么是服务网格? 服务网格是分布式软件系统内部用于管理所有“服务到服务”通信的一个系统。 聊服务网格为什么会出现之前,可以聊聊服务架构的演进过程。起初,我们使用一个单体应用来提供服务。 比如我们在做一个电商系统,采用典型的MVC三层架构,在单体架构中,组成这个系统的购物车功能,库存查询功能,订单功能等都是这个服务内部的一个函数或接口。所以这些操作都是进程内的函数调用,不涉及诸如RPC等服务与服务的跨进程通信。但随着时间的增加,我们发现单体架构越来越不能满足我们的需求,比如用户访问暴增,业务逻辑愈加复杂,一个单体的服务已不能满足功能及性能的要求。我们需要将其按业务领域拆分为几个独立的服务来对外提供服务,这就是微服务架构。比如原来的购物车功能,库存查询功能,订单功能被拆分为独立的服务。这时接收到一个购物请求,我们需要分别查询不同的微服务来进行业务处理,这就涉及跨进程通信。

阅读更多

LeetCode 707 设计链表

1 题目描述 设计链表的实现。您可以选择使用单链表或者双链表来实现。 单链表中的节点应有val和next两个属性,val为当前节点的值,next为下一个节点的指针或引用。 若使用双链表实现,则需要一个额外的属性prev来指向当前节点的前一个节点。

阅读更多

Golang text/template 使用样例

Golang text/template 包是一个数据驱动的模版渲染工具。提供条件判断,数组或 map 遍历;参数赋值,函数或方法调用;自定义函数扩展,模板嵌套及重用等功能。基于该工具,可以轻松实现复杂场景的文本渲染。如Helm Template基于此实现了功能强大的 Kubernetes 配置文件渲染工作。

阅读更多

LeetCode 94 二叉树中序遍历

1 题目描述 给定一棵二叉树,返回其节点值的中序遍历结果。 例如: 输入:[1,null,2,3] 1 \ 2 / 3 输出:[1,3,2] 注:递归较简单,您可否使用循环来实现?

阅读更多

LeetCode 92 反转链表 II

1 题目描述 对单链表的某一段(自第m个位置起到第n个位置止)进行反转。 例如: 输入:1->2->3->4->5->NULL, m = 2, n = 4 输出:1->4->3->2->5->NULL 注:1 ≤ m ≤ n ≤ length(链表长度)

阅读更多