Golang中的正则表达式
正则表达式是判断、筛查字符串最常用的手段,golang中正则表达式是通过内建的regexp包实现。
正则表达式是判断、筛查字符串最常用的手段,golang中正则表达式是通过内建的regexp包实现。
在做分享功能时,会通过分享的内容生成一个唯一的分享id,访问这个分享的时候,会通过分享id定位到资源。实际上通过HTTP请求打开这个分享时,通常是用GET请求,将分享id放到path中实现,而分享id可能会很长,导致这个链接显示上不好看。常用的解决方案是将这个地址转换成一个只有几位字母或者数字的短地址。
k8s环境下学习很多应用服务会很方便,特别是集群搭建方便,高可用性强。搭建高可用的过程中,一定会用到持久化存储,比较常见的是通过NFS实现storageclasses。
消息队列之RabbitMQ。RabbitMQ是最为常用的开源消息中间件,支持队列、工作分配、发布订阅、路由、主题、RPC的模式,插件丰富,自带管理页面,是后端程序员必须掌握的后端技术栈。
用户登录信息的验证一般会由服务端验证sessionID,通过维护sessionID和accountID之间的关系确定登录的用户。但是这种方式在微服务架构下容易出现性能瓶颈,外部服务登录验证,内部服务之间相互验证都需要通过认证服务。此时如果将用户信息全部集中在header里面,通过认证服务签名,无需记录登录状态信息,这种方式就是JWT。
Mongodb可能是在微服务架构中使用的最多的一种非关系型数据库,主要用于存储,而且没有数据类型限制。
mysql是程序员一定会打交道的数据库,在学习和练习阶段,都需要准备环境。这里介绍通过deploy、svc、sc、pvc部署单机版mysql,通过helm部署集群版。生产环境推荐使用集群模式,支持高可用。
介绍通过deploy、svc、pv、pvc部署pgsql。单机版用于学习,生产环境推荐使用集群模式,支持高可用。
redis是当前最为流行的缓存服务,内存存储,通过IO多路复用型使得即使是单线程,也有非常高的性能。学习redis时需要有redis环境,这里介绍四种方式,一种是单机模式,一种是主从模式,一种是哨兵模式,一种是集群模式。
学习k8s的一个重要步骤是搭建k8s,一般分为kubeadm的方式或者二进制的方式,二进制的方式坑比较多,学习使用的话,通过kubeadm要更简单快捷些。