bjmayor 发布于 2021-09-06

1.基础知识-汇编8086-读书笔记1

《汇编语言》 王爽。 讲的是8086CPU。

基础知识

机器语言

就是一串的0、1的二进制

汇编语言的诞生

就是机器指令的助记符。

程序员编写汇编语言-》编译器-》机器码-》CPU执行。

汇编语言的组成

汇编语言由以下3类组成:

  1. 汇编指令(机器码的助记符,和机器码 一一对应)
  2. 伪指令 (由编译器执行)
  3. 其他符号 (由编译器识别)

核心是汇编指令。

阅读全文 »

bjmayor 发布于 2021-09-01

缓存设计的好,服务基本不会倒

缓存设计的好,服务基本不会倒

[TOC]

大家好,很高兴来到“GO开源说” 跟大家分享开源项目背后的一些故事、设计思想以及使用方法,今天分享的项目是 go-zero,一个集成了各种工程实践的 web 和 rpc 框架。我是Kevin,go-zero 作者,我的 github id 是 kevwan。

go-zero 概览

go-zero 虽然是20年8月7号才开源,但是已经经过线上大规模检验了,也是我近20年工程经验的积累,开源后得到社区的积极反馈,在5个多月的时间里,获得了6k stars。多次登顶github Go语言日榜、周榜、月榜榜首,并获得了gitee最有价值项目(GVP),开源中国年度最佳人气项目。同时微信社区极为活跃,3000+人的社区群,go-zero爱好者们一起交流go-zero使用心得和讨论使用过程中的问题。

阅读全文 »

bjmayor 发布于 2021-09-01

开放分布式追踪(OpenTracing)入门与 Jaeger 实现

开放分布式追踪(OpenTracing)入门与 Jaeger 实现

原文链接

简介: 分布式系统的运维挑战 容器、Serverless 编程方式的诞生极大提升了软件交付与部署的效率。在架构的演化过程中,可以看到两个变化: 应用架构开始从单体系统逐步转变为微服务,其中的业务逻辑随之而来就会变成微服务之间的调用与请求。

阅读全文 »

bjmayor 发布于 2021-09-01

go-zero 是如何追踪你的请求链路

go-zero 是如何追踪你的请求链路

[TOC]

微服务架构中,调用链可能很漫长,从 httprpc ,又从 rpchttp 。而开发者想了解每个环节的调用情况及性能,最佳方案就是 全链路跟踪。追踪的方法就是在一个请求开始时生成一个自己的 spanID ,随着整个请求链路传下去。我们则通过这个 spanID 查看整个链路的情况和性能问题。

下面来看看 go-zero 的链路实现。

阅读全文 »

bjmayor 发布于 2021-08-31

2020最佳人气项目之Go Web框架

2020最佳人气项目之Go Web框架

[TOC]

go-zero 是一个集成了各种工程实践的 web 和 rpc 框架,其中rest是web框架模块,基于Go语言原生的http包进行构建,是一个轻量的,高性能的,功能完整的,简单易用的web框架。获得了2020码云最有价值项目和开源中国最佳人气项目奖。

阅读全文 »

bjmayor 发布于 2021-08-31

Authorization的两种方式

[TOC]

session vs jwt

背景知识:

Authentication和Authorization的区别:
Authentication:用户认证,指的是验证用户的身份,例如你希望以小A的身份登录,那么应用程序需要通过用户名和密码确认你真的是小A。

Authorization:授权,指的是确认你的身份之后提供给你权限,例如用户小A可以修改数据,而用户小B只能阅读数据。

由于http协议是无状态的,每一次请求都无状态。当一个用户通过用户名和密码登录了之后,他的下一个请求不会携带任何状态,应用程序无法知道他的身份,那就必须重新认证。因此我们希望用户登录成功之后的每一次http请求,都能够保存他的登录状态。

目前主流的用户认证方法有基于token和基于session两种方式。

阅读全文 »