自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Sentry 项目实战 | Sentry 101 #03

在上一篇文章中我们使用 Caddy 进行反向代理实现了通过域名访问 Sentry 的后台管理界面,这篇文章则主要介绍如何在项目中集成 Sentry 并进行合理的配置。这篇文章我们使用 Sentry 进行了实战,首先在项目中初始化了 Sentry 提供的 SDK,并且使用 DSN 将 Sentry 接入,之后就能在后台管理中看到 issue 的详细内容了。大家也应该能想到,到这里我们的 Sentry 配置还没有结束,我们需要接入一些外部的应用已得到及时的 issue 警告,这将是我们下一篇文章的内容。

2023-08-25 13:55:58 177

原创 使用 Caddy 为 Sentry 配置域名 | Sentry 101 #02

在上一篇文章中我们通过 Docker Compose 搭建起了一套生产级别的 Sentry 系统,但我们现在希望能够直接通过域名访问 Sentry 的管理系统。可能很多同学会想到使用 Nginx 或 Traefik 来进行反向代理,但我今天会推荐一个更加简单易用的工具 —— Caddy。这篇文章介绍了如何通过 Caddy 实现 Sentry 通过域名访问,同时也简单介绍了 Caddy 的安装与反向代理的使用方法。在下一篇会介绍 Sentry 的详细实战使用。

2023-08-16 18:29:28 281

原创 部署 Sentry 自托管 | Sentry 101 #01

Sentry 是一个开源的全栈错误跟踪系统,支持广泛的平台。线上版本的 Sentry 是一项付费服务​​,但它也为开发者提供了免费计划。如果我们有大量项目连接到 Sentry,免费计划就不再够用,因为它每月有 5000 个 Event 的限制。可以升级到付费计划或在自己的服务器上部署 Sentry。由于 Sentry 是一个开源系统,因此可以在线获取代码以部署在您自己的基础设施上。在这篇文章中,我们将逐步介绍在我们自己的服务器上部署 Sentinel 的步骤。

2023-08-11 14:03:01 482

原创 快速上手 Go 微服务开发 | CloudWeGo 101

文章写得很仓促,代码也没有进行测试,不过逻辑肯定是没有问题的。通过这篇文章大家应该就可以大概上手 CloudWeGo 相关组件的开发,更详细的项目可以参考FreeCar。

2023-03-30 18:27:24 1117 2

原创 基于 Hertz 和 Kitex 的 Go 微服务项目 | 开源项目推荐

目录介绍Server项目核心部分Shared可复用代码Static前端静态文件这个项目还是花费的不少时间,欢迎大家学习,如果 Star 是对我们最大的鼓励!

2023-01-23 22:06:03 1700 2

原创 负载均衡拓展从 0 到 1 —— Hertz 负载均衡实现

在 Hertz 的服务发现中可以进行配置使用负载均衡来实现服务高可用性与流量均衡。

2022-12-22 14:58:05 289

原创 再也不用花时间在找封面上了!—— 基于 Go 实现的文章封面生成器

我相信很多人和我一样,每次写文章的时候都会在封面选择上犯难,不想网上搜索,又不想使用之前已经用过的封面。终于,今天我写了一个文章封面自动生成器来帮助大家解决这个难题。先把项目地址贴出来,欢迎大家 Star、Fork ,有问题也可以直接提 issue。如果大家有什么需要优化的地方请提 issue ,或者愿意参与开发可以直接提 PR。如果喜欢这个项目希望大家能够点个 Star ,这是对我最大的鼓励!

2022-12-22 14:46:12 354

原创 原来防御 CSRF 攻击这么简单? —— Hertz CSRF 中间件实战

Hertz 是一个超大规模的企业级微服务 HTTP 框架,具有高易用性、易扩展、低时延等特点。Hertz 默认使用自研的高性能网络库 Netpoll,在一些特殊场景中,相较于 go net,Hertz 在 QPS、时延上均具有一定优势。

2022-12-04 15:14:50 250

原创 Go HTTP 框架之 Hertz —— 通过 reverseproxy 进行反向代理实战

当然,拓展不只是能够实现简单的反向代理,在 reverseproxy 拓展中提供了许多可以自定义的可选项。方法描述用于指定 protocol.RequestSetClient用于指定转发的客户端用于指定响应修改方法用于指定处理到达后台的错误或来自 modifyResponse 的错误。

2022-11-25 13:13:36 599

原创 如何实现一个优雅的服务发现拓展 | Hertz 源码解读

在上一篇文章中已经解读了 Hertz 中服务注册的实现,在这一篇文章中我们会重点解读 Hertz 的服务发现部分。

2022-11-20 09:06:04 455

原创 解读开源 Go HTTP 框架 Hertz | 服务注册拓展实现

在参与 Hertz 框架的开发迭代过程中,对 Hertz 的主库也越来越熟悉。接下来的几篇文章我将分别解析 Hertz 的服务注册、服务发现和负载均衡拓展,最后会使用适配于 Hertz 的 etcd 拓展进行实战,欢迎大家关注。

2022-11-13 13:56:56 795

原创 使用 gRPC-gateway 代替 HTTP 框架在Go语言中进行开发 | gRPC + gRPC-gateway 开发实践

在给一个微信小程序写接口的时候使用了 gRPC 来开发微服务。若按照我以前的写法,我会在上面用类似 gin 的相关 HTTP 框架再封装一层,但我又想到如果直接使用 gRPC 自带的 gRPC-gateway 效果会不会更好?

2022-11-05 09:27:03 1557

原创 从 Netpoll 中寻找 BIO/NIO 编程模型的对比 | Netpoll 源码解读

最近在阅读《Go 组件设计与实现》这本小册,其中让我很感兴趣的一点是为什么在字节开源中间件团队CloudWeGo所开发的网络库 Netpoll 中使用了 NIO 模型,而没有使用 Go 标准库中所使用到的 BIO 编程模型。

2022-11-03 12:04:48 443

原创 Go 语言测试在开发中的最佳实践 | 使用 Docker 容器进行测试

最近看到很多Go语言测试的教程都非常水,只讲了测试最基本的用法,几乎没有涉及到在开发中如何去设计一个很出色的测试。这篇博客将会带领大家一步一步完成一个出色的Go-Test。

2022-08-08 15:45:00 401

原创 解读字节开源 HTTP 框架 Hertz | 核心结构与入口的实现

作为一个接触开源社区快要一年的准大二生,对开源社区进行贡献的同时自己也想要造一个属于自己的框架——goffee,在边学边写的过程中发现了很多自己不足,正巧CSG正在举行解析Hertz源码的活动,就趁着这个机会学习一下企业级的框架内部的实现并给我自己的框架提供一点思路。

2022-08-07 12:00:00 1164

原创 使用 Docker 容器部署 MongoDB 并支持远程访问(超多坑)

由于使用宝塔面板来配置MongoDB的BUG太多,实在受不了,今天心血来潮想要使用Docker容器来进行部署。本来以为也就二三十分钟的事情结果踩坑踩了将近两个小时,不过万幸还是成功部署上。

2022-08-06 17:05:37 3414 1

原创 Go 语言爬虫最佳实践 | 通过正则表达式实现爬虫

可能很多人都觉得爬虫是Python的专属技能,但其实使用Go语言可能会实现更加好的效果在开始实现爬虫之前我们必须明白一件事,那就是爬虫是什么。

2022-07-10 18:45:13 1233

原创 Go 语言实现 GitHub 第三方登录(基于 Gin 框架实现)

在我们制作网站或者制作APP的时候,经常就会想到去实现一个第三方登录,因为GitHub的相关接口已经非常完善,所以这次用GitHub进行演示说到第三方登录,那不得不谈的就是OAuth2.0。OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 1.0(即完全废止了OAuth1.0)。

2022-06-30 18:31:29 1734 5

原创 gRPC 在 Go 语言中的安装与简单实践

大家都知道现在流行微服务嘛,而分布式是微服务中不可或缺的一环,GRPC一个非常出色的RPC框架,所以借此机会来记录一下gRPC在Go语言中的安装使用以及运用。

2022-06-01 09:19:30 761

原创 使用 WSL 环境在 Goland 中开发 Go 项目

在了解字节的开源RPC框架Kitex的过程中一直使用的云服务器进行运行,但碍于服务器性能不足和JB Getaway功能还并不完善,所以想到使用WSL进行开发而使用WSL开发的优势并不止这些,例如Redis在WSL中可以使用最新版本,增加很多功能,还有其他的优势等待你的探索。

2022-05-29 09:58:17 3369

原创 Git 基础入门与最佳实践

Git相信大家都有所了解,在听完字节青训营老师的课程之后对Git又有了进一步的理解,遂在此记录,但若只是记录进阶内容我觉得欠妥,所以这里会将Git从入门开始

2022-05-21 20:25:49 316

原创 GORM 快速入门最佳实践(含有样例数据库)

在听完JINZHU老师对GORM的讲解后,我对于GORM的理解更深一层,有回忆到学习GORM时网络上基本没有带样例数据库的教程,所以在今天带着样例数据库写一篇GORM的简单入门教程(基础使用)我所展示的实现效果与代码可能会有一定出入,这是因为我展示中的数据库模型更加完善但不适合教程使用,但是不妨碍学习。

2022-05-18 21:19:01 5489 1

原创 使用 Go 语言实现单词翻译功能 | simpledict 命令行词典

如果我们想实现一个命令行词典,自己手写接口肯定非常困难,于是我们想到使用浏览器中的开发者工具进行抓包。拿到接口后再在 IDE 中进行实现。

2022-05-07 17:24:41 1462 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除