全方位解读服务网格(ServiceMesh)的背景和概念

一直以来“微服务”都是一个热门的词汇,在各种技术文章、大会上,关于微服务的讨论和主题都很多。对于基于Dubbo、SpringCloud技术体系的微服务架构,已经相当成熟并被大家所知晓,但伴随着互联网场景的复杂度提升、业务快速变更以及快速响应,如何快速、稳定、高效的应对变幻莫测的业务市场需求,这类技术体系(如:SpringCloud)的传统微服务架构就变得力不从心,此时微服务架构再次升级,将服务网格作为了新一代微服务架构。本文将从传统微服务架构出发,为大家阐述新一代微服务架构–服务网格,它能解决什么问题,为用户带来什么,可作为你对服务网格的认知文章。1、背景微服务,也称之为微服务架构,是一种架构风格,相比单体应用,它将应用程序拆分为一组服务,并将这些服务组合起来来完成整个复杂的业务功能。下面这些特征就能高度反映出它的价值所在:高度可维护和可测试性松耦合独立部署围绕业务能力进行组织小团队拥有简单的回顾完微服务架构的概念,我们一起看看新一代微服务架构是如何诞生的

golang/云原生/Docker/DevOps/K8S/持续集成/分布式/etcd 教程

这是一门全面的教程,旨在3-6个月内助你掌握Golang后端开发的核心技术,总计超过150小时的教学内容,涵盖了五大关键领域:Golang基础: 从语言安装配置开始,深入理解并发编程、网络编程,掌握单元测试与性能分析,以及常见数据结构和设计模式。工程组件: 学习微服务工具,如go-kit、gRPC、gin等,以及API管理、认证和日志记录等实用框架。分布式中间件: 探索Redis、MySQL、MongoDB等数据库,etcd和Kafka等消息传递技术,以及ElasticSearch。云原生技术: 包括Git和GitLab的使用,Docker基础、Kubernetes的部署、调度和服务网格,以及Prometheus和Istio的监控解决方案。实战项目: 通过企业级项目实战,如ChatGPT应用开发,涉及环境准备、服务接口、数据处理等多个场景,展示技术如何落地。无论你是Golang新手还是希望扩展技术栈的开发者,这个教程都将带你从零开始,逐步掌握从基础到高级的各类技能,适应分布式、云原生和DevOps环境,实现持续集成和容器化部署,轻松应对K8S挑战

合阔智云核心生产系统切换到服务网格 ASM 的落地实践

合阔智云的核心生产系统已成功切换至服务网格ASM的实践中,作者刘如鸿分享了这一落地过程。作为零售行业的技术解决方案提供商,合阔智云采用微服务架构和Kubernetes进行生产调度,但随着业务扩展和流量增长,传统的技术栈面临挑战。为简化基础架构,他们选择使用服务网格来管理和治理服务通信,特别是转向了阿里云的服务网格ASM。起初,团队在部分生产环境中逐步注入ASM,从规模较小的门店供应链开始,然后扩展到对实时性要求高的Golang应用。在实践中,他们遇到了istio-proxy crash问题,经过与阿里云工程师合作,改进了应用启动策略和健康检查,最终实现了生产环境的稳定注入。ASM的优势在于提供统一的流量管理、安全性和可观测性能力,以及更高效的资源管理和配置推送。通过使用ASM,合阔智云实现了可观测性的提升,能够清晰地监控和优化应用架构,流量和资源得到了均衡分配,流量治理能力也得到了强化,包括灰度发布、熔断和限流等功能

golang/云原生/Docker/DevOps/K8S/持续集成/分布式/etcd 教程

这是一门全面的教程,旨在3-6个月内助你掌握Golang后端开发的核心技术,总计超过150小时的教学内容,涵盖了五大关键领域:Golang基础: 从语言安装配置开始,深入理解并发编程、网络编程,掌握单元测试与性能分析,以及常见数据结构和设计模式。工程组件: 学习微服务工具,如go-kit、gRPC、gin等,以及API管理、认证和日志记录等实用框架。分布式中间件: 探索Redis、MySQL、MongoDB等数据库,etcd和Kafka等消息传递技术,以及ElasticSearch。云原生技术: 包括Git和GitLab的使用,Docker基础、Kubernetes的部署、调度和服务网格,以及Prometheus和Istio的监控解决方案。实战项目: 通过企业级项目实战,如ChatGPT应用开发,涉及环境准备、服务接口、数据处理等多个场景,展示技术如何落地。无论你是Golang新手还是希望扩展技术栈的开发者,这个教程都将带你从零开始,逐步掌握从基础到高级的各类技能,适应分布式、云原生和DevOps环境,实现持续集成和容器化部署,轻松应对K8S挑战

如何从零开始写golang的gui框架?

在开始构建一个Go语言的GUI框架时,首先要理解的是GUI领域已高度竞争与演进。因此,本文将基于此背景,提供构建GUI框架的一般流程与所需学习的关键知识点。核心在于绘图,需要掌握RGBA空间分配和矢量绘图的基础API,以构建上层的GUI框架。矢量绘图包括点、线、字体和位图渲染,涉及填充与线框绘制。接下来是构建GUI框架,分为布局和组件两部分。布局用于控制组件的位置与大小,组件包括按钮、文本框等。早期版本若不支持自定义样式,可自绘常用组件并封装为Struct。布局则通过网格实现,根据布局计算大小,组件指定占用的网格来确定位置。事件循环是关键环节,每个周期收集基本事件(如按键与鼠标移动),进行事件分发,定位接受事件的组件,触发事件回调,更新布局与状态,最后完成绘制。优化性能,采用blit、局部重绘与GPU绘制等策略。构建GUI框架需掌握以下知识点:1. 颜色空间(canvas/framebuffer),了解坐标系、颜色混合、块拷贝