不会飞的章鱼

熟能生巧,勤能补拙,静能生慧;念念不忘,必有回响。

网络基础知识

公司网络架构

  • 路由器:网络出口
  • 核心层:主要完成数据高效转发、链路备份等
  • 汇聚层:网络策略、安全、工作站交换机的接入、VLAN之间通信等功能
  • 接入层:工作站的接入

交换技术

阅读全文 »

Kubernetes架构

  • Master:负责集群的管理
  • Node:计算节点,负责跑任务
  • kubelet:相当于master的agent
  • kube-proxy:网络
  • Docker Engine:运行管理容器
  • Etcd Cluster:存储k8s的数据

环境准备

阅读全文 »

快速搭建一个Kubernetes集群

kubectl命令行管理工具

基础命令

命令 描述
create 通过文件名或标准输入创建资源
expose 将一个资源公开为一个新的Service
run 在集群中运行一个特定的镜像
set 在对象上设置特定的功能
get 显示一个或多个资源
explain 文档参考资料
edit 使用默认的编辑器编辑一个资源
delete 通过文件名、标准输入、资源名称或标签选择器来删除资源
阅读全文 »

Docker介绍与安装

Docker是什么

  • 使用最广泛的开源容器引擎
  • 一种操作系统级的虚拟化技术
  • 依赖于Linux内核特性:Namespace(资源隔离)和Cgroups(资源限制)
  • 一个简单的应用程序打包工具

Docker设计目标

  • 提供简单的应用程序打包工具
  • 开发人员和运维人员职责逻辑分离
  • 多环境保持一致性
阅读全文 »

什么是Yapi

YApi 是由去哪儿移动架构组推出的一款开源项目,是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。

官网:https://yapi.ymfe.org/,Yapi具有以下功能特性

权限管理

扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性。

阅读全文 »

k8s基本介绍

什么是k8s

  • k8s是谷歌开源的容器集群管理系统
  • 可以简化应用程序的工作流,加快开发速度

为什么需要k8s

  • 真正的生产型应用会涉及多个容器
  • 容器必须跨多个服务器主机进行部署
  • 借助k8s构建多个容器的应用服务、跨集群调度、扩展这些容器
阅读全文 »

介绍

Nebula Graph 是一款开源的、分布式的、易扩展的原生图数据库,能够承载数千亿个点和数万亿条边的超大规模数据集,并且提供毫秒级查询。

图数据库是专门存储庞大的图形网络并从中检索信息的数据库。它可以将图中的数据高效存储为点(Vertex)和边(Edge),还可以将属性(Property)附加到点和边上。

阅读全文 »

Swagger 介绍

Swagger 是一套围绕 OpenAPI 规范构建的开源工具,可以设计、构建、编写和使用REST API。Swagger 包含很多工具,其中主要的 Swagger 工具包括:

  • Swagger 编辑器:基于浏览器的编辑器,可以在其中编写 OpenAPI 规范,并实时预览API 文档。https://editor.swagger.io 就是一个 Swagger 编辑器,你可以尝试在其中编辑和预览 API 文档。
  • Swagger UI:将 OpenAPI 规范呈现为交互式 API 文档,并可以在浏览器中尝试 API调用。
  • Swagger Codegen:根据 OpenAPI 规范,生成服务器存根和客户端代码库,目前已涵盖了 40 多种语言。

Swagger 和 OpenAPI 的区别

OpenAPI 是一个 API 规范,它的前身叫 Swagger 规范,通过定义一种用来描述 API 格式或 API 定义的语言,来规范 RESTful 服务开发过程,目前最新的 OpenAPI 规范是OpenAPI 3.0(也就是 Swagger 2.0 规范)。

阅读全文 »

Java 基础语法:语法、变量与运算

2160 · 打印 “Hello Java”

1
2
3
4
5
6
7
8
9
public class Solution {
/* Your first java code
* print Hello Java to console
*/
public static void main(String[] args) {
// write your code here
System.out.print("Hello Java");
}
}

2157 · 打印 Welcome to LintCode!

1
2
3
4
5
6
public class Solution {
public static void main(String[] args) {
// write your code here
System.out.print("Welcome to LintCode!");
}
}
阅读全文 »

关于Casbin

Casbin是用于Golang项目的功能强大且高效的开源访问控制库。
casbin中文官方文档

Casbin的作用

  • 以经典{subject, object, action}形式或您定义的自定义形式实施策略,同时支持允许和拒绝授权。
  • 处理访问控制模型及其策略的存储。
  • 管理角色用户映射和角色角色映射(RBAC中的角色层次结构)。
  • 支持内置的超级用户,例如root或administrator。超级用户可以在没有显式权限的情况下执行任何操作。
  • 多个内置运算符支持规则匹配。例如,keyMatch可以将资源键映射/foo/bar到模式/foo*。

Casbin不执行的操作

阅读全文 »