云原生(三):Kubernetes概述
在前文,我介绍了应用部署方式的更新迭代: 随着容器化部署的盛行,Kubernetes应运而生。 Kubernetes 是什么? Kubernetes 这个单词是希腊语,它的中文翻译是“舵手”或者“飞行员”。Container 这个英文单词也有另外的一个意思就是“集装箱”。Kubernetes 也就借
云原生(二):容器技术
容器就是一个视图隔离、资源可限制、独立文件系统的进程。 是云原生技术里面一个关键的技术点。它本质上解决的是应用程序部署运行的问题。 应用程序部署 在容器技术出现之前,人们部署一个应用程序有两种部署方法。 直接部署 最简单直接的部署方式,将应用程序直接在物理机上部署,然后使用 systemd 类的守护
云原生(一):云原生是什么?
云原生的官方定义是: 云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。 这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对
Dockerfile常用指令
构建类指令 用于构建image 操作不会在运行image的容器上执行(FROM MAINTAINER RUN ENV ADD COPY) 设置类指令 用于设置image的属性 操作将在运行image的容器内执行(CMD ENTRYPOINT USER EXPOSE VOLUME WORKDIR ON
洗牌算法及其测试
前言 之前面试的时候,被问到过洗牌算法,当时没有了解过洗牌算法,所以是按自己的理解去回答的。今天复盘的时候,发现当时面试说的洗牌算法是错误的。 下意识的实现 for循环一次,然后随机交换两个数。 func shuffleArrayGeneral(nums []byte) []byte { n :=
DNS解析
下面我们来仔细的分析下浏览器获取域名对应IP地址的过程。 解析过程 当用户键入网址后 第一步 查找浏览器缓存 浏览器会在本地缓存中查找该域名是否存在。如果存在,它将直接使用该 IP 地址,而不需要进行其他的步骤。浏览器缓存域名有缓存大小和缓存的时间限制。 第二步 查找系统缓存 如果浏览器中没有找到该
三种红包分配算法实现
本文中,我将介绍几种主流的手气红包分配算法。 普通随机 用当前红包余额作为最大区间进行随机,这样做的好处是算法实现简单,但可能不均匀。如果第一个人随机到接近红包余额的金额,那么接下来的人就没得玩了。 流程图 代码 // LeftMoneyRedBag 红包算法 // // money 红包金额 单位
Java多线程轮流打印计数
题目 三个线程轮流打印1-100 代码 这里我打算使用队列去实现,可以避免复杂的资源共享问题。 public class Main { public static void main(String[] args) { // 创建一个阻塞队列,所有线程共享 B
Java多线程死锁代码样例
题目 使用代码展示出两个线程死锁的情况 代码 public class Main { private static final ReentrantLock LOCK_A = new ReentrantLock(); private static final ReentrantLock
Contributing Guidelines 开发指南
撰写给工作室的代码贡献规范 本项目开发必须遵循以下规范。 请注意, 英语是开发过程中唯一允许使用的语言 ,比如代码、注释、 Git message 和代码内文档。 因为复杂字符存在编码问题,在整个开发协作过程中应当避免。 代码风格 前端 WIP 后端 后端开发编写代码参考 Java开发手册(嵩山版)