随笔分类 - 云原生
摘要:
云原生时代分布式和微服务RPC是一项常见技术,本篇先了解grpc基本定义和特点,搭建gRPC Go开发环境,并了解proto文件基本使用和gRPC go语言代码生成,然后通过Go语言代码示例从使用场景演示一元RPC、服务器流式RPC(文件上传)、客户端流式RPC(文件下载)、双向流式RPC(聊天),从而具备gRPC 开发的入门理解。
阅读全文

摘要:
在Go的Web开发世界中,Gin以其简单、高性能一举成为使用最广泛的框架;本篇先了解定位和特性,然后在进行常见使用功能如参数获取和绑定、路由组、中间件、静态资源使用、内容渲染、Cookie和Session等多个代码示例演示,最后通过分析源码中的核心流程和数据结构加深对其整体理解。
阅读全文

摘要:
在GoLang世界中有很多优秀的ORM库,今天就介绍主流之一的GORM三方库,了解其核心功能,然后从其支撑数据类型模型和约定开始巩固其基础,接着以安装gorm库及其mysql驱动为基础编写常见CRUD代码示例,进入了解其事务、转换、分片等知识,最后演示其Json序列化示例。
阅读全文

摘要:
通过前两篇文章对Go编程的理解,本篇从重点实战使用角度介绍Go常见基础标准库的使用,较大部分业务场景直接使用标准库提供的丰富功能就可实现快速开发,结合精简代码示例演示了字符串、IO、编码、网络、数据库、单元测试等十几个标准包的使用。
阅读全文

摘要:
Go语言是天然并发利器,通过通信来实现内存共享而不是通过共享内存来通信,本篇从了解Go的并发哲学、理论及并发原语开始,之后用一个个Go代码示例认识Go的协程、通道、定时器、互斥锁、池化、原生操作等十几个并发编程示例,进一步加深对其并发编程使用场景理解和原理的初步认识。
阅读全文

摘要:
Go语言由于来自全球技术大厂谷歌创造及推动,其生态发展极其迅速,有可能成为未来十年内最有统治力的开发语言。本篇主要介绍Go目前发力的使用场景、开发环境、基础命令、命名规范,进一步了解其原生标准库的强大,最后通过多个Go代码示例演示了基础语法的使用,从而具备初级编程能力。
阅读全文

摘要:
本篇先部署Apache Pulsar 最新版本2.11.0的 Locally Standalone,并通过创建Topic、生产消息和消费消息验证基础环境;接着通过二进制也即是所谓裸机部署方式一步步演示如何部署Pulsar的分布式集群,并通过Admin客户端验证基于租户、命名空间一些消息管理和使用简单功能。最后介绍Pulsar 层级存储的工作原理和使用场景,如何使用待续...
阅读全文

摘要:
Java技术栈伙伴已深知SpringCloud Alibaba微服务一站式解决方案,今天力推腾讯强势开源微服务治理框架PolarisMesh,与前者Alibaba一样也支持SpringCloud Tencent框架整合,开篇先从亮点和性能上对比其他微服务治理框架,初步了解架构原理概况,并通过二进制安装Polaris集群,最后通过一个SpringCloud Tencent整合demo演示了服务的注册和发现、配置中心动态配置。
阅读全文

摘要:
如果你还在头疼数据分析多组件、多集群跨域等问题,推荐研究下华为开源的openlookeng,能够解决企业在面向大数据应用面临的用数难、找数难、取数难的痛点,本篇从openlookeng背景和架构开始,理解其关键技术和应用场景,最后通过安装openlookeng的集群,利用命令行接口验证MySQL和ClickHouse两种连接器的配置。
阅读全文

摘要:
不用再担心SpringBoot启动慢和内存占用大的困惑了,为K8S云原生Quarkus轻松实现快、省、灵活的特性,本篇了解Quarkus优势和性能,并从quarkus工程创建开始,实现简单编码、普通jar打包、打包二进制文件和可跨平台直接运行二进制文件,并制作成docker镜像运行验证。
阅读全文

摘要:
Tekton以yaml文件编排应用构建及部署流程,是一个纯云原生的标准化CICD流水线构建、测试和部署流程的工具,本篇先介绍其使用好处、主要组件、并一步步部署和简单演示任务和管道的简易使用。
阅读全文

摘要:
ArgoCD是Kubernetes的声明式、GitOps连续交付工具,通过Kubernetes控制器来实现。本篇介绍ArgoCD基本功能、组件和工作流程,也介绍通过kubekey部署简单K8S集群和基于K9S简易管理K8S集群,并通过K8S部署ArgoCD,通过二进制部署和配置ArgoCD的命令行工具,最后以一个官方示例演示ArgoCD创建APP的简易示例入门。
阅读全文

摘要:
一个可以快速安装和管理多K8S集群强大工具Rancher,虽然也有其他如Openshift、Kubesphere、Sealos,还是强烈推荐生产环境直接选用Rancher,本篇从部署Rancher本身开始,一步步基于Rancher搭建一个新的K8S集群的详细操作步骤和常见功能介绍,最后部署一个Deployment的Nginx应用和动态扩缩容的演示示例。
阅读全文

摘要:
本篇为生产使用的MinIO配置Nginx代理,实战操作如何创建MinIO的用户和安全认证,通过配置MinIO的server信息开始,实操MC客户端常见的命令操作实现浏览桶、创建删除桶、文件上传下载等,最后通过编程SDK使用需求出发,通过Java客户端的实现文件上传下载的示例,最后以MinIO整合SpringBoot启动器的方式实现MinIO常见API的编程开发
阅读全文

摘要:
本篇先了解一个以快著称的云原生对象存储系统,上传下载对象速度只限制于网络带宽,体会强大又极简主义的设计,从MinIO特性和架构设计思想,熟悉其常见应用场景;实战MinIO的快速部署,最后以一个可用生产系统的4个节点每个节点4块磁盘的分布式高可用部署并体验了文件上传和下载的速度。
阅读全文

摘要:
本篇以SpringCloudAlibaba框架创建库存微服务和订单微服务的服务注册与发现的例子,从Dockerfile文件的编写到Docker-Compose文件编写,引入io.fabric8的docker-maven-plugin实现maven打包、生成镜像和推送的内网Harbor仓库,最后通过启动脚本启动容器和测试
阅读全文

摘要:
本篇从单机小型机->垂直拆分->集群化负载均衡->服务化改造架构->服务治理->微服务时代的架构演进开始阐述,并逐步引出ServiceMesh服务网格时代,了解ServiceMesh的概念,列出一些国内外的ServiceMesh项目,最后重点介绍了目前最主流的产品Istio的组成和特点。
阅读全文

摘要:
云原生时代作为程序猿心怀好奇学习了Kubernetes从此对其不再陌生,本篇以kubeadm方式快速部署3台服务器v1.22.1版本的K8S集群,从部署规划到部署步骤一步步详细记录和说明,遇到问题逐个解决,并练习K8S常用的命令,通过Nginx部署及其快速扩缩容、基于yaml文件部署、容器DNS功能,而关于K8Sconfigmap、secrets、有状态应用、高可用k8s集群、helm以及基于微服务集群容器编排部署后续补充
阅读全文

摘要:
如同JDK函数式、链式编程、Lambda表达式、Stream流编程,Docker也是Java技术栈开发人员必不可缺的一门容器化技术,本篇主要从Docker的由来开发,了解原理、常用命令以及容器卷技术,如何一步步写DockerFile,了解Docker网络以及Ngnix、ES集群的容器化部署实战入手。docker可以打包镜像发布实现一键运行,使用docker我们可以像搭积木一样增加一层层镜像实现,docker是内核级别的虚拟化,比虚拟机更少的抽象层,一台物理机上可以运行很多的容器示例,可以把服务器性能压榨到极致。
阅读全文

摘要:
Kubernetes发展历史从公有云Iaas、Paas、Saas的云计算时代开始诞生,与Docker Swarm容器化集群和Apache Mesos分布式资源管理框架竞争并最终成为容器化编排主流引领者。本篇搭建实战K8s集群,初步了解k8s及简单命令,k8s进阶内容configmap、secrets、有状态应用、高可用k8s集群、helm以及基于微服务集群容器编排部署实战等后续再学习。Kubernetes是一个go语言开发(docker也是go语言开发,可见go语言的厉害和趋势,其兼具Python等动态语言的开发速度和 C/C++等编译型语言的性能与安全性,部署简单、并发性好、语言设计良好、执行性能高,后续我们专题学习)用于跨多个主机管理容器化应用程序的开放源代码系统。它为应用程序的部署、维护和扩展提供了基本机制。
阅读全文
