跳转至

博客

Temporal 分布式应用开发平台简介

Temporal 是一个分布式应用开发平台,通过持久执行确保应用在故障时自动恢复,简化状态管理和错误处理。支持多语言SDK,提供工作流(Workflow)和活动(Activities)模型,内置可见性工具(UI/CLI)和事件历史记录。具备高可靠性、可扩展性,支持本地和云部署,适用于复杂业务流程。

Temporal 解决了开发者在构建分布式应用程序时面临的许多问题。但大多数问题都围绕以下这三个主题

基于 Prometheus 的微服务监控指南

监控系统

随着微服务架构的广泛应用,现代软件系统的复杂性不断增加,对于系统监控和故障排除也更加困难。

在微服务架构中,每个服务都是独立运行的,需要对大量的服务进行监控。

且研发几乎不可能对系统存在的风险有100%的认知,即使做到了100%的认知,也不可能对所有风险环节做了100%容错,有效预警可以帮助研发及时发现系统中潜在的bug。

一个有效的监控系统成为保证微服务高可用、稳定性、可靠性的关键因素。

监控系统可以提供以下几个方面的帮助:

  • 实时监测服务的健康状态和性能指标,以便及时检测和排除故障。
  • 收集各个服务的指标数据,用于分析和优化系统性能。
  • 对所有服务的监控数据进行统一管理和可视化展示,方便了解整个系统的情况。

本文将介绍如何使用Prometheus对golang微服务进行监控。

golang源码生成文档及注释语法

go version: 1.22.6

godoc

已弃用godoc 无法选择要显示的包版本,由 golang.org/x/pkgsite/cmd/pkgsite 替代。

godoc 提取 Go 代码里的注释生成网页的形式的 Go 程序文档

VSCode Remote Development-go开发环境搭建

安装vscode

刚学习go的时候一直使用的vscode开发,轻巧方便。但随着工程代码量增加,本地下载的包越来越多,代码提示和自动补全功能变得越来越慢,就转向了goland神IDE,打开一个工程占用1.5G内存,吓得我赶紧又加了8G内存!!!

正式版的vscode已支持VSCode Remote Development,附上vscode下载地址:Visual Studio Code下载地址

安装完成,安装GO扩展和Remote Development扩展,Remote Development扩展包含了Remote - SSHRemote - ContainersRemote - WSL三个扩展,分别用于通过ssh远程连接、连接docker容器和连接 Windows Subsystem for Linux (WSL)

李开复:留学带给我的十件礼物,第一件是自信

本文由 简悦 SimpRead 转码, 原文地址 https://mp.weixin.qq.com/s/BLIQNoeB9zFm6DZSpLlYgQ

今天分享的文章,是我之前的一个演讲,总结了自己从初中到大学的留学生涯得到的十个最大的收获。最近有媒体朋友整理发表,就转载过来。

目的是跟大家分享,如今历经世事的我,再回首成长历程,我发现那些珍贵的、终身受益的东西,不是科学知识,也不是当时引以为傲的成绩榜单,而是那些最基本的,人之所以为人的人格底色。

这些品质和能力,让我在后来的人生中,不断获得新的技能和社会能力,最终塑造了现在的我。

推荐给年轻的父母阅读,打好孩子的品格地基,比那些赢在起跑线上的速成技能要重要的多。而在所有的品格里,自信是第一位的。

git多账户共存

问题

很多开发者都会遇到在自己的电脑上使用不止一个 git 帐号的情况。一般一个是自己的 github 帐号,另一个则是公司的 git 帐号,比如 gitlab、bitbucket 等。如果采用 https 方式获取仓库,多个 git 帐号间不会有冲突,但在每次 pull、push 的时候都要输入帐号密码,十分麻烦。而且当代码库十分庞大时,如果仍然采用 https 方式,在 git pull 时可能出现超时不响应的情况,此时只能采用 ssh 方式。ssh 在配置完 ssh key 后使用起来很方便,但是 git 帐号间可能出现冲突,这时候该如何解决呢?