自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(263)
  • 资源 (10)
  • 收藏
  • 关注

原创 微服务相关

基于etcd做服务发现和注册开启服务注册开启服务注册只需配置Etcd即可,配置如下:Etcd: Hosts: - 127.0.0.1:2379 Key: hello.rpcHosts为etcd服务节点地址,Key为服务地址对应的key前缀,当服务启动的时候即可自动的进行服务注册...

2020-11-25 22:28:56 195

原创 Golang小技巧总结

初步整合GraphQL+ginjson与 map转换为structpackage mainimport ( "encoding/json" "fmt" "github.com/goinggo/mapstructure")func JsonToMap() { jsonStr := ` { "name":"liangyongxing", "age":12 } ` var mapResult map[string]interface{

2020-09-15 00:10:40 251

原创 K8S知识点记录

在本地调试运行在 Pod 中的数据库查看podkubectl get podkubectl port-forward 端口映射kubectl port-forward dev-db-5959f58bd7-88zlm 5432:5432 --address=0.0.0.0启动Django 本地环境DJANGO_SETTINGS_MODULE=project_name.settings_local python3 ./manage.py runserver...

2020-07-31 18:13:45 250

原创 【运维篇】Kubernetes接入阿里云SLS日志服务

选择project,建立logstore建立了ps-pro配置logtail,接入pod数据日志格式非常多,我们选择docker标准输出配置如下{ "inputs": [ { "detail": { "Stderr": true, "IncludeLabel": { "io.kubernetes.container.name": "you_p

2021-07-19 16:02:56 17 1

原创 【Golang】Golang内存管理

一. 内存管理内存分配器堆和栈区别1.空间分配区别:栈:由操作系统(编译器)自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构中的栈。堆:一般由代码分配释放,若代码没有显式释放,程序结束时可能由OS回收,分配方式类似链表。2.缓存方式区别:栈:使用的是一级缓存,通常都是被调用时处于存储空间中,调用完毕立即释放。堆:存放在二级缓存中,生命周期由垃圾回收算法来决定。3.数据结构区别:栈:先进后出的线性结构。堆:类似于一颗树。1.1 go内存分配

2021-07-16 15:19:18 40

原创 【数据库篇】Redis面试知识点

2.1 redis 特性redis为什么这么快1.基于内存Redis是纯内存数据库,一般都是简单的存取操作,线程占用的时间很多,时间的花费主要集中在IO上,所以读取速度快。2.单线程上下文切换线程只需要保存线程的上下文(相关寄存器状态和栈的信息)Redis采用了单线程的模型,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU。3.IO多路复用技术redis 采用网络IO多路复用技术来保证在多连接的时候, 系统的高吞吐量。多路-指的是多个socket

2021-07-14 15:45:02 16

原创 【运维篇】kubernetes面试相关总结

简述 Kubernetes 中什么是静态 Pod?静态 pod 是由 kubelet 进行管理的仅存在于特定 Node 的 Pod 上,他们不能通过 API Server 进行管理,无法与 ReplicationController、Deployment 或者 DaemonSet 进行关联,并且 kubelet 无法对他们进行健康检查。静态 Pod 总是由 kubelet 进行创建,并且总是在 kubelet 所在的 Node 上运行。简述 Kubernetes 中 Pod 可能位于的状态?Pendi

2021-06-26 18:20:20 44

原创 牛客网面试总结

运维etcd 如何保持高可用性只有当集群中多数节点正常的情况下,才可以进行运行时的配置管理。如果集群多数节点损坏,集群就失去了写入数据的能力。官方推荐3,5,7为etcd cluster数目,其中7可以满足大部分情况通常情况下,如果是Follower节点宕机,如果剩余可用节点数量超过半数,集群可以几乎没有影响的正常工作。如果是Leader节点宕机,那么Follower就收不到心跳而超时,发起竞选获得投票,成为新一轮term的Leader,继续为集群提供服务。灾难恢复当集群超过半数的节点都失效时,就

2021-05-12 00:08:26 96 2

原创 【微服务】Go进阶四 日志&指标&链路追踪

日志级别https://github.com/golang/glog,是 google 提供的一个不维护的日志库,glog 有其他语言的一些版本,对我当时使用 log 库有很大的影响。它包含如下日志级别:InfoWarningErrorFatal(会中断程序执行)还有类似 log4go,loggo,zap 等其他第三方日志库,他们还提供了设置日志级别的可见行,一般提供日志级别:TraceDebugInfoWarningErrorCriticalFatal记录消息后,直接调

2021-04-24 23:34:08 122

原创 【微服务】Go进阶3 计算机网络

1.网络编程互联网的核心是一系列协议,总称为”互联网协议”(Internet Protocol Suite),正是这一些协议规定了电脑如何连接和组网。主要协议分为:Socket接口抽象层TCP / UDP面向连接(可靠) / 无连接(不可靠)HTTP1.1 / HTTP2 / QUIC(HTTP3)超文本传输协议...

2021-04-19 12:12:43 87

原创 【微服务】Go进阶② 微服务可用性设计

微服务可用性设计隔离隔离,本质上是对系统或资源进行分割,从而实现当系统发生故障时能限定传播范围和影响范围,即发生故障后只有出问题的服务不可用,保证其他服务仍然可用。服务隔离动静分离、读写分离轻重隔离核心、快慢、热点物理隔离线程、进程、集群、机房读写分离:主从、Replicaset、CQRS。核心隔离业务按照 Level 进行资源池划分(L0/L1/L2)。核心/非核心的故障域的差异隔离(机器资源、依赖资源)。多集群,通过冗余资源来提升吞吐和容灾能力。快慢隔离我们可以把

2021-04-16 00:20:53 103

原创 【微服务】Go进阶① 微服务概览

01 第一周:微服务(微服务概览与治理)可用性&兼容性设计API Gateway (网关)Microservice划分Microservice安全

2021-04-11 17:57:39 84

原创 【Go】微服务框架总结

Go-Mirco框架go-zero微服务框架1. zRPC使用参考go-zero 文档查看server注册ETCDCTL_API=3 etcdctl get hello.rpc --prefix显示服务已经注册2. 接口限流 periodlimit2.1 滑动窗口限流接口限流实现 redis + lua而在一个分布式系统中,存在多个微服务提供服务。所以当瞬间的流量同时访问同一个资源,如何让计数器在分布式系统中正常计数?同时在计算资源访问时,可能会涉及多个计算,如何保证计算的原子性?

2021-03-07 22:12:52 560 1

原创 【面试】计算机网络知识点

TCP UDPTCPTCP/IPTCP/IP是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。 TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。 通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。TCP三次握手① A 的 TCP

2021-03-07 00:01:11 138

原创 【运维篇】负载均衡策略

DNS域名解析腾讯云通过Annotation配置负载均衡

2021-03-02 17:29:01 222

原创 【Go】goroutine协程让出、抢占、监控、调度

文章目录调度-GMP调度模型1. GMP支撑了 Go 的高并发2. GMP定义3.Goroutine vs OS thread 有什么区别?抢占1.go协程阻塞时如何进行调度?1. 只G阻塞,M,P可用的2. G,M都被阻塞,P可用系统调用(open file) system call2.GO的调度过程:2.5 PMG模型中状态汇总G状态P的状态M的状态如果Goroutine 一直占用资源怎么办,PMG模型怎 么解决的这个问题?1,如果某个M陷入阻塞呢?2,如果有的M较忙,有的M较闲呢?3,如果一个G运行时

2021-02-09 10:31:37 402

原创 【微服务】熔断、链路追踪

熔断器有三种状态:关闭状态:服务正常,并维护一个失败率统计,当失败率达到阀值时,转到开启状态开启状态:服务异常,调用 fallback 函数,一段时间之后,进入半开启状态半开启装态:尝试恢复服务,失败率高于阀值,进入开启状态,低于阀值,进入关闭状态github.com/afex/hystrix-go,提供了 go 熔断器实现,使用上面也很方便,首先创建一个熔断器hystrix.ConfigureCommand( "addservice", // 熔断器名字,可以用服务名称命名,一个名字对应

2021-02-03 22:11:10 90

原创 【Go】Go-Micro微服务框架

简单案例 https://github.com/why19970628/micro-serviceService实现如下接口的,都是Servicetype Service interface { Init(...Option) Options() Options Client() client.Client Server() server.Server Run() error String() string}如 service := micro.NewService()返回的是mic

2021-02-02 22:55:24 101

原创 操作系统知识点

系统调用什么是系统调用?Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用。用户可以通过系统调用命令在自己的应用程序中调用它们。从某种角度来看,系统调用和普通的函数调用非常相似。区别仅仅在于,系统调用由操作系统核心提供,运行于内核态;而普通的函数调用由函数库或用户自己提供,运行于用户态。随Linux核心还提供了一些C语言函数库,这些库对系统调用进行了一些包装和扩展,因为这些库函数与系统调用的关系非常紧密,所以习惯上把这些函数也称为系统调用。为什么要用系统调用?实际上,很多已经被我

2021-01-30 00:20:48 101

原创 【golang】面试知识点3

showmebug2 6年经验1.多核cpu cache怎么保持不冲突和一致MESI解决方案 把cache 设置为四个状态,是两个bit来表示,四种状态:修改、独占、共享、失效状态更新:把内存的一块数据加载到cache中,某一个内核对这个数据进行修改,这时就是修改状态,独占的状态。有另外一个相同的数据资源修改时,这时会检测到,将独占状态变为共享状态,之前读取的数据会变成失效的状态,新的内存里面加载到cache里面,还有一些不同的情况:当一个数据处于共享状态,比如两个内核都加载同一份数据,到内核ca

2021-01-23 23:49:53 225

原创 运维知识点

容器容器和虚拟机的区别1.容器技术简介对于容器,它首先是一个相对独立的运行环境,在这一点有点类似于虚拟机,但是不像虚拟机那样彻底。在容器内,应该最小化其对外界的影响,比如不能在容器内把宿主机上的资源全部消耗,这就是资源控制。容器可以看成一个装好了一组特定应用的虚拟机,它直接利用了宿主机的内核,抽象层比虚拟机更少,更加轻量化,启动速度极快。可以做到秒级,甚至毫秒级启动相比于虚拟机,容器拥有更高的资源使用效率,因为它并不需要为每个应用分配单独的操作系统——实例规模更小、创建和迁移速度也更快。.

2021-01-18 10:59:53 54 1

原创 【数据库篇】MySQL面试知识点

IO多路复用技术redis 采用网络IO多路复用技术来保证在多连接的时候, 系统的高吞吐量。多路-指的是多个socket连接,复用-指的是复用一个线程。多路复用主要有三种技术:select,poll,epoll。epoll是最新的也是目前最好的多路复用技术。这里“多路”指的是多个网络连接,“复用”指的是复用同一个线程。采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络IO的时间消耗),且Redis在内存中操作数据的速度非常快(内存内的操作不会成为这里的性能瓶颈),主要以上两点

2021-01-10 16:48:42 146

原创 【goalng】知乎面试技术知识点1⃣️

文章目录1.11.22.12.2京东make new的区别数组和切片的区别Go线程安全?PythonPython3 GIL(Global Interpreter Lock) 下 多线程与多进程1.1Go语言中Select用法如何通俗理解docker?集装箱、Docker容器提供的是虚拟化的运行环境集群、微服务与分布式的理解分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。 分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。简单说

2021-01-10 16:46:02 181

原创 【Golang】Go基础知识点1

Go 语言笔试面试题汇总Go 语言笔试面试题(基础语法)

2021-01-10 16:43:59 265

原创 【k8s】集群中部署kong网关及添加插件

1.本地运行的设置service router的参考这篇 : 传送门

2020-12-03 13:30:39 345

原创 分布式锁的总结(redis)

方法一:使用setnx + set参数,一步搞定://使用set 参数实现分布式锁func DoSet(conn redis.Conn,commandName string, args... interface{}){ lock.Lock() defer lock.Unlock() res,err := conn.Do("set","dirlock","true","EX",10,"NX") if err != nil{ fmt.Println("redi

2020-11-10 23:46:57 139

原创 阿里云Codeup云效使用flow+k8s部署go语言项目

codeup云效flow制作DockerfileFROM golang:alpine AS builderADD ./ /data/app/WORKDIR /data/app/ENV GO111MODULE=on \ CGO_ENABLED=0 \ GOOS=linux \ GOARCH=amd64 \ GOPROXY=https://goproxy.io,directEXPOSE 8888RUN CGO_ENABLED=0 GOOS=linux GOAR

2020-11-09 20:32:50 369

原创 【数据库篇】Elasticsearch知识总结

在公司需要用到es,这里做下知识点的记录吧一、基础工具阿里云es提供查询工具,包括kibana集群信息 推荐es-head 用Chrome插件 或者 GitHub查询index结构GET user_login_log/message/_mapping二、简单查询ES 读取过程分为GET和Search两种操作。GET/MGET(批量GET): 需要指定_index、_type、_id。也就是根据id从正排索引中获取内容。Search: Search不指定_id,根据关键词从哪个倒排索

2020-10-29 11:15:30 193

原创 GO微服务实战之红包系统

业务模型2-3 红包数据库表结构讲解红包序列红包算法红包算法逻辑6点要求微信两倍平均算法

2020-09-21 22:28:43 245

原创 MQ消息队列学习

rabbitmqpackage mainimport ( "fmt" "log" "strconv" "github.com/streadway/amqp")func failOnError(err error, msg string) { if err != nil { log.Fatalf("%s: %s", msg, err) }}func main() { conn, err := amqp.Dial("amqp://admin:admin@localhost:

2020-09-18 23:29:17 142

原创 【Flask】黑马头条v5.0(Python)

12_雪花算法id生成与redis连接的配置import timeimport loggingclass InvalidSystemClock(Exception): """ 时钟回拨异常 """ pass# 64位ID的划分WORKER_ID_BITS = 5DATACENTER_ID_BITS = 5SEQUENCE_BITS = 12# 最大取值计算MAX_WORKER_ID = -1 ^ (-1 << WORKER_ID_BITS

2020-09-10 00:56:21 481

原创 Django美多商城

第1节 美多商城项目准备项目主要模块

2020-08-30 15:49:38 370 1

原创 【Go】Go读书社区web开发与高性能架构优化 (beego+redis+es)

ES 操作es router //搜索 beego.Router("/search", &controllers.ElasticsearchController{}, "get:Search") beego.Router("/search/result", &controllers.ElasticsearchController{}, "get:Result")ElasticsearchControllerpackage controllersimport ( "fmt.

2020-08-22 19:16:35 553 1

原创 Go开发抽奖项目(iris+xorm+redigo+订单高并发)

前后端需求后端管理需求优惠券表

2020-08-22 03:04:08 232

原创 加密策略

PythonGogin_resaurant//用户登录func (ms *MemberService) Login(name string, password string) *model.Member { //1、使用用户名 + 密码 查询用户信息 如果存在用户 直接返回 md := dao.MemberDao{tool.DbEngine} member := md.Query(name, password) if member.Id != 0 { return member }

2020-08-14 15:03:36 415

原创 【Go】Go-Iris框架实战之电商秒杀系统②核心优化

文章目录第9章 系统分析&前端优化【核心优化方案落地9-2 秒杀分布式架构设计页面静态化的几种方式9-9 CDN原理和作用第10章 服务端性能优化之实现cookie验证后端优化思路基础架构与优化的的架构对比突破Session限制(Cookie代替)cookie与session的区别第11章 服务端性能优化之分布式验证实现11-1 分布式概念第12章 服务端性能优化解决超卖&引入消息队列第14章 课程总结第9章 系统分析&前端优化【核心优化方案落地9-2 秒杀分布式架构设计页面

2020-08-13 00:41:57 344

原创 go语言基于Casbin实现角色的权限控制

实战一般运用到项目后台的管理权限中初始化数据库初始化环境后,系统会在你选择的数据库自动生成一个casbin_rule的数据库表用户权限的增删改查tips:这些接口,需要放在截器中间件前面, 不然空表无法添加数据 //使用自定义拦截器中间件 r.Use(Authorize())//增加policy r.POST("/api/v1/add", func(c *gin.Context) { fmt.Println("增加Policy") if ok, _ := Enforcer.A.

2020-08-09 03:45:27 1444

原创 JWT-RESTful进行身份认证

视频链接

2020-08-08 16:21:47 203

原创 ElasticSearch集群

文章目录高可用性集群解决的问题Elasticsearch 信息存储机制健康状态搭建 Elasticsearch 集群高可用性集群解决的问题基本上所有的单机问题都有并发压力响应时间磁盘空间问题宕机Elasticsearch 信息存储机制分片Elasticsearch 中一个索引(Index)相当于是一个数据库,它是被分片存储的,Elasticsearch 默认会把一个索引分成五个分片,当然这个数字是可以自定义的。分片是数据的容器,数据保存在分片内,分片又被分配到集群内的各个节点里

2020-08-05 23:31:06 93

原创 秒杀系统总结

文章目录一、问题二、解决思路1. 高并发Redis集群2. 超卖服务单一职责:一、问题高并发超卖二、解决思路1. 高并发分布式服务Nginx负载均衡、轮询(ip黑名单)分布式服务器(服务单一职责,)Redis 高可用 (集群,主从同步、读写分离,哨兵机制,开启持久化)Mysql高可用(集群、读写分离)静态页面消息队列(MQ,Redis等消息队列)限流 降级前端 : 按钮时间、链接等(后端、秒杀次数Redis缓存库存预热Redis集

2020-08-04 22:35:08 212

Python机器学习全流程项目实战.rar

Python机器学习全流程项目实战的源码和配套课件,需要视频资源的请搜索咸鱼用户 我叫王大阳啊 获取

2019-07-11

Python数据分析与应用资源

《Python数据分析与应用》,测试资料,源代码以及PPT讲义。

2019-05-05

python+pyqt图书管理系统

python+pyqt模块实现的图书管理系统,自带小型数据库,解压即可使用。

2019-05-05

ROSTCM6.zip

ROST CM是专为即将毕业的用户推出的一款专业论文查重软件,可以方便用户查看自己的论文是否被剽窃了,或者论文的重复率,拥有全网分析、浏览分析、微博分析,情感分析等特色。下载解压即可使用!

2019-08-24

个人简易博客系统.rar

基于ThinkPHP,基于Flask两种方式搭建的个人博客,直接下载安装好库直接就能用

2019-06-14

worldAreaSql.zip

整理了一份世界国家、省、市、区的sql文件,也有从腾讯抓取的数据Sql, 包含表结构 直接导入数据库就可以用, 数据准确度比较高

2020-08-03

template-matching-ocr.rar

# 银行卡识别 - Python3 - 所用到的库: opencv imutils--图像处理工具包 numpy

2019-11-01

opencc-1.0.zip

opencc-1.0.1繁体转中文工具包,win64位,下载解压即可使用!

2019-07-22

Pandas_exercises-master.rar

Pandas是入门Python做数据分析所必须要掌握的一个库,本篇精选了十套练习题以及数据文件,帮助读者上手Python代码,完成数据集探索。

2019-05-22

intern_test.rar

1道关于python面试数据分析的面试题,xml文件解析并提取数据,生成csv文件,已给出标准答案,下载即可运行。

2019-11-29

空空如也

空空如也

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

TA关注的人 TA的粉丝

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