总结
其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。
这里还有一份很不错的《Java基础核心总结笔记》,特意跟大家分享出来
目录:
部分内容截图:
目前最受欢迎的微型虚拟机就是 AWS Firecracker [1] ,它使用 Rust 语言编写,内存开销极低,将微型虚拟机打包到 Kubernetes 集群中,以提高工作负载的安全性和隔离性。AWS 目前正使用 Firecracker 作为 Serverless 的基础单元,冷启动时间延迟极低。
Weaveworks 也开源了一个基于 Firecracker 的虚拟机管理器 Ignite [2] ,将 Firecracker MicroVM 与 Docker/OCI 镜像结合起来,统一了容器和虚拟机。它以 GitOps 的方式工作,可以像 Kubernetes 和 Terraform 一样声明式管理虚拟机。
还有一些其他项目,例如 slim [3] ,旨在从 Dockerfile 重新构建和运行微型虚拟机。它的工作原理是从 Dockerfile 中构建并提取 rootfs,然后将该文件系统与一个在线 RAM 中运行的微内核合并。
随着越来越多的应用程序被迁移到云端,以及越来越多的围绕 5G 技术建立的新业务解决方案,微型虚拟机将会发挥至关重要的作用。
高性能 WebAssembly
===============
自从 1995 年 Netscape 公司推出 JavaScript 之后,很长一段时间它都是唯一的网络编程语言。之后人们提出了很多替代方案,但都没有成功,这些替代方案要么不支持跨平台,要么需要浏览器插件。因此,纵然 JavaScript 有它的缺陷性,还是变成了世界上最流行的编程语言之一。
WebAssembly 的出现打破了这个僵局,严格来说,它不是一种编程语言,而是一种二进制指令集。因此它对 JavaScript 没有威胁,也无意取代 JavaScript,它可以和 JavaScript 协同工作,你也可以将 JavaScript 编译成 WebAssembly 二进制格式。
但 WebAssembly 的潜力不仅局限于浏览器层面,全球著名的 CDN 厂商 Fastly 的 CTO 之前在一个视频中完美阐述了 WebAssembly 的价值:
虚拟机模拟了完整的计算机;容器模拟了完整的操作系统;WebAssembly 仅仅模拟了进程。
==============================================
容器大家都比较熟悉,它只模拟了完整操作系统的用户空间,不包含内核空间,也不包含硬件相关的抽象。但是对于微服务和 Serverless 而言,它仍然很重,我只需要启动一个进程,你却让我先启动一个完整的操作系统再启动进程。
这时候 WebAssembly 的价值就体现出来了,你只需要启动一个进程,而我恰好就启动了进程,没有操作系统,也没有硬件虚拟化,只有孤单的进程,只是这个进程被放入了 WebAssembly 的沙盒中。
看到了这一点,众多工程师开始发挥自己的无限想象力,比如将 WebAssembly 作为 Kubernetes 的 CRI 运行时,代替容器以适应 Serverless 场景。
目前大约有 40 高级编程语言开始支持 WebAssembly,包括 C、C++、Python、Go、Rust、Java 和 PHP,未来可期。
轻量级 Kubernetes 发行版
==================
为了避免 Kubernetes 的安装部署过于复杂,越来越多的人更愿意使用 Kubernetes 的阉割版本,即轻量版。像 K3s [4] 这样的轻量级发行版更容易通过命令行安装,它提供了更轻量级的存储后端,并且所有的组件都打包在一个单一的可执行文件中,体积更小。由于它只需要极低的资源就可以运行,因此它能够在任何地方 512MB 内存以上的设备上运行集群。
边缘计算与物联网
========
最后
由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!
小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》
3fab5e56a57acb)收录**