0关注
0粉丝
暂时未有相关云产品技术能力~
暂无个人介绍
上文介绍了网络编程的基础知识,并基于 Java 编写了 BIO 的网络编程。我们知道 BIO 模型是存在巨大问题的,比如 C10K 问题,其本质就是因其阻塞原因,导致如果想要承受更多的请求就必须有足够多的线程,但是足够多的线程会带来内存占用问题、CPU上下文切换带来的性能问题,从而造成服务端崩溃的现象。怎么解决这一问题呢?优化呗,所以后面就有了NIO、AIO、IO多路复用。本文将对这几个模型详细说明并基于 Java 编写 NIO。
一个网络请求、服务之间的调用都需要进行网络通讯,在日常开发时我们可能并不会关心我们的服务端是怎么接收到请求的、调用别的服务是怎么调用的,都是直接使用现成的框架或工具,比如,Tomcat、Dubbo、OkHttp等提供网络服务的框架。作为程序员,我们还是要知其然知其所以然。本文将介绍在 Java 中如何进行网络编程以及网络编程的基础知识。
前面区块链系列的文章中介绍了区块链技术、智能合约、web3js,Solidity 编程语言,在开发者的角度就是要基于这些知识在Web3时代去开发一个 DApp(去中心化应用程序)。本文将会介绍为什么要开发 DApp,并总结开发 DApp 需要掌握哪些技能。
通过前面的文章我们可以知道基于区块链开发一个DApp,而DApp结合了智能合约和用户界面(客户端),那客户端是如何与区块链进行连接交互的、如何调用智能合约的、如何发送一个交易到区块链、如何获取区块链上的数据,这就是本文要介绍的 web3.js。
上文介绍了[区块链生态发展](https://wangbinguang.blog.csdn.net/article/details/131440404),我们知道以太坊的到来可以使开发人员基于区块链开发DApp,本文介绍 Solidity 编程语言的使用,然后基于 Solidity 编写一个简单的智能合约。
上文[《认识区块链》](https://wangbinguang.blog.csdn.net/article/details/131325120)中可以知道区块链是一个通过各种加密算法、共识机制以及其他技术可以实现一个点对点的电子现金系统,从而达到去第三方的效果(通常称之为去中心化)。本文将从区块链的内部结构、交易的过程、如何对一笔交易达成共识以及交易存在的问题详细介绍区块链是如何运行的,并且在此过程中了解区块链更多的特性。
通过 [《容器集群管理工具 Docker Swarm》](https://wangbinguang.blog.csdn.net/article/details/131082281)可以知道,在部署、调度、扩展和管理较多的容器时,如果有一个工具帮忙做这些事,那无疑会大大提高工作效率了。那 Docker Swarm 就是这样的工具,同样 Kubernetes(简称k8s)也是这样的一个工具,相对于 Docker Swarm, Kubernetes 生态比较庞大,有更多的支持、服务和工具。至于用哪个,萝卜青菜各有所爱吧。
[《了解和使用Docker》](https://wangbinguang.blog.csdn.net/article/details/130851283)中有提到容器编排工具 docker compose ,不过只限于单机。如果现在需要搭建一个集群环境,提供了10台服务器用来部署应用以及其依赖的组件,比如5个 Tomcat 应用容器、3个Redis、5个 Mysql、3个 Nginx ,你会如何部署?
在上文 [《了解和使用 Docker》](https://wangbinguang.blog.csdn.net/article/details/130851283) 之后,反响不错,也上了热榜。本来是想直接整理一下容器编排工具 Docker Swarm 和 K8s 博文的,但是半路杀出了这个活动😂,为表敬意,先参与一波吧。
本文对 Docker 进行全面阐述,详细介绍 Docker 的作用、其基本使用,如常用命令、Dockerfile 的作用及使用、Docker Compose 的作用及使用。常用的基本上都会涉及,其他可以在[ Docker 官网](https://docs.docker.com/)进行查漏补缺。