- 博客(422)
- 资源 (5)
- 收藏
- 关注
原创 macos下搭建minikube dashboard的启动
最近在复习一下k8s环境相关的知识,需要在自己电脑上搭建一个minikube的环境供自己使用。但是因为docker的镜像仓库最近被墙了,因此在执行minikube dashboard的时候,拉不到相应的镜像,就导致页面看不到相应的一些信息因此本文主要讲述如何把dashboard启动起来。我这里主要是在海外的一台服务器上进行来取,然后把他导入到本地的mac电脑上。一下就是我的具体的操作步骤。之后,还需要研究如何通过海外的代理服务器搭建一个自己的镜像仓库。首先,在可以访问镜像的机器上使用。命令下载所需的镜像。
2024-07-05 00:36:09 656
原创 go: ‘go mod vendor‘ cannot be run in workspace mode. Run ‘go work vendor‘ to vendor the workspace or
请注意,这些命令可能在不同的操作系统和shell中有所不同。如果你在使用Windows或其他shell,你可能需要使用不同的命令来设置环境变量。你的错误信息表明你正在使用Go的工作区模式,这是Go 1.18版本引入的新特性。如果你不想使用工作区模式,你可以通过设置环境变量。然后,你就可以像以前一样使用。命令不能运行,你需要使用。
2024-06-11 22:07:50 498
原创 golang中chan的高级用法
在阅读k8s的源代码中,发现了一些比较有意思的用法。在Go语言中,chan(通道)是一种用于在不同的goroutine之间进行通信的机制。方法中的参数表示一个只读的通道,用于接收停止信号。
2024-05-24 00:18:16 910
原创 我是如何带团队从0到1做了AI中台
因为这个项目是经费立项的形式,腾讯侧会以每半年投入百万经费的形式到项目组,因为部门也是成立不就,编制人员紧缺,只有核心岗位为腾讯的正式员工,也就是说,我们需要自己招外包同学来建立自己的团队,鉴于之前做粤省事成立开发团队的经验,如何快速的打造一直技术团队,只能招市场上多人会的语言,因此,果断我们选择了java作为开发语言,虽然我之前的java开发经验非常之少。1、研发流程规范,包括从需求阅读,到需求分解,tapd需求录入与跟进,概要设计,库表,接口设计,内部评审,研发周期确认等等一些列流程规范。
2024-05-06 22:20:01 786
原创 后台架构总结
疫情三年,全国各地的健康码成为了每个人的重要生活组成部分。虽然过去一年,但是回想起来任然历历在目。今天我就通过当时基于小程序的健康码架构,来给大家讲一下如何基于java,springboot等技术来快速搭建一个后台业务系统本次“腾讯防疫健康码”小程序项目本身因为时间特别仓促,从1月28号启动,到2月1号开始部署其他地市,业务迭代非常快速,已经达到了和阿里的健康码直面竞争的态势,全国各个省市抢地盘。
2024-04-29 10:31:05 1496 1
转载 RabbitMQ消息队列(一): Detailed Introduction 详细介绍
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]历史应用场景 系统架构进一步的细节阐明1 使用ack确认Message的正确传递2 Reject a message3 Creating a queue4 Exchanges 5 Virtual hosts1. 历史 RabbitMQ是一个由erlan
2016-09-19 15:46:12 4594 2
转载 gdb Debugging Full Example (Tutorial): ncurses
I'm a little frustrated with finding "gdb examples" online that show the commands but not their output. gdb is the GNU Debugger, the standard debugger on Linux. I was reminded of the lack of example o
2016-08-15 11:46:48 8371
转载 漫谈C++11多线程内存模型v
目录(?)[+]写在前面 “C++11 feels like a new language” - Bjarne Stroustrup 的确,C++11核心已经发生了巨大的变化,它现在支持Lambda表达式、对象类型自动推断、统一初始化语法、Deleted和Defaulted函数、nullptr、委托构造函数、右值引用等等,本文主要讨论C+
2016-07-31 00:56:23 6669 1
转载 关于游戏架构设计的一些整理吧
一个大型的网落游戏服务器应该包含几个模块:网络通讯,业务逻辑,数据存储,守护监控(不是必须),其中业务逻辑可能根据具体需要,又划分为好几个子模块。这里说的模块可以指一个进程,或者一个线程方式存在,本质上就是一些类的封装。 对于服务器的并发性,要么采用单进程多线程,要么采用多进程单线程的方式,说说两种方式的优缺点: 一、单进程多线程的服务器设计模式,只有一个进
2016-07-03 20:51:05 8480
转载 socket中的函数遇见EINTR的处理
这几天,写服务器代码过程当中,遇见EINRT信号的问题,我是借鉴 《unp 》,采用continue或者goto again循环解决的。但是感觉这个还是很有必要记录一下。网络上查找到的信息很多。下面是我查找到的和EINTR有关的介绍:1 http://blog.csdn.net/yanook/article/details/7226019 慢系统调用函数如何处理中断信号EINTR2
2016-07-03 00:29:49 7291
转载 Linux 系统性能分析工具图解读
最近看了 Brendan Gregg 大神著名的 Linux Performance Observability Tools,这么好的资料不好好学习一下实在是浪费了,又找到了大神的ppt 和 演讲(需爬墙),于是把相关的命令和概念连预习,学习,复习走了一遍。首先学习的是大神提出的 Basic Tool 有如下几个:uptimetop (htop)
2016-06-21 23:18:12 8517
转载 GCC 提供的原子操作
gcc从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作。其声明如下:type __sync_fetch_and_add (type *ptr, type value, ...)type __sync_fetch_and_sub (type *ptr, type value, ...)type __sync_fetch_and
2016-06-11 10:44:26 4447 1
转载 CPU负载的分析
最近对我的本本(4核8线程)用top命令看系统状况出现了CPU利用率超过200%的情况,非常诧异,查了下相关资料,把这个问题弄清楚了。首先来分析下CPU Loadload average: 0.09, 0.05, 0.01分别是1分钟、5分钟、15分钟的平均Load。Load这个东西怎么理解呢,就像一条马路,有N个车道,如果N个进程进入车道,那么正好一人一个,再多一
2016-06-06 12:04:31 9428
转载 Ubuntu 源码安装最新版本 gcc 5.x版本
首先下载最新版http://www.netgull.com/gcc/releases/gcc-5.3.0/ Pre-KnowledgeThe regular procedure to build any program from source code is simply the below three steps:① ./configure②
2016-04-12 16:44:43 9040
转载 动态库的链接和链接选项-L,-rpath-link,-rpath
链接动态库如何程序在连接时使用了共享库,就必须在运行的时候能够找到共享库的位置。linux的可执行程序在执行的时候默认是先搜索/lib和/usr/lib这两个目录,然后按照/etc/ld.so.conf里面的配置搜索绝对路径。同时,Linux也提供了环境变量LD_LIBRARY_PATH供用户选择使用,用户可以通过设定它来查找除默认路径之外的其他路径,如查找/work/lib路径,你可以在
2016-04-07 09:54:09 6088
转载 开源的相关记录
Protocal Buffer是google开源的用于数据交换的库,常用于跨语言的数据访问,担任的角色一般为对象的序列化/反序列化。 另一个与之类似的开源软件是facebook开源的thrift,它们两个最大区别是thrift提供了自动生成RPC的功能而Protocal Buffer需要自己实现,但Protocal Buffer的一个优势是其序列化/反序列化非常高效。AD:51CTO首届中
2016-04-03 12:20:47 5186
转载 一步步编写并发阻塞队列
这篇文章主要介绍了linux中编写并发队列类,功能有:并发阻塞队列、有超时限制、有大小限制设计并发队列复制代码代码如下:#include #include using namespace std;template class Queue { public: Queue( ) {
2016-03-14 11:32:06 7190
原创 linux 下的编程效率分享
操作性能memset 1K150W次/smemcpy 1K150W次/smalloc 小字节 单线程100W次/sgettimeofday30W~400W次/stime30W~400W次/sgetpid
2016-03-05 13:25:54 5427 1
转载 backgroud thread
redis终于在2.4版本里引入了除主线程之外的后台线程,这个事情由来已久.早在2010年2月就有人提出aof的缺陷,提及的问题主要有:1 主线程aof的每次fsync(everysecond模式)在高并发下时常出现100ms的延时,这源于fsync必不可少的磁盘操作,即便已经优化多次请求的离散小io转化成一次大的连续io(sina的同学也反映过这个问题).2 主线程里background
2016-02-04 00:21:18 5296
转载 Skip List(跳跃表)原理详解与实现
本文内容框架:§1 Skip List 介绍§2 Skip List 定义以及构造步骤§3 Skip List 完整实现§4 Skip List 概率分析§5 小结 §1 Skip List 介绍 Skip List是一种随机化的数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要
2016-02-02 14:43:19 7389
转载 服务器TIME_WAIT和CLOSE_WAIT详解和解决办法
昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下:http://blog.csdn.net/shootyou/article/details/6615051里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态。 在服务器的日常维护过程中,会经常用到下面的命令:netstat -n | aw
2016-01-16 14:05:17 7635 1
转载 高并发服务器架构--SEDA架构分析
纯粹转发,没有深入研究,转自:SEDA架构笔记一、传统并发模型的缺点基于线程的并发特点:每任务一线程直线式的编程使用资源昂高,context切换代价高,竞争锁昂贵太多线程可能导致吞吐量下降,响应时间暴涨。基于事件的并发模型特点:单线程处理事件每个并发流实现为一个有限状态机
2015-12-28 11:50:02 10334 2
转载 使用gprof对程序的性能分析(集合贴)
综述gprof用于分析函数调用耗时,可用之抓出最耗时的函数,以便优化程序。gcc链接时也一定要加-pg参数,以使程序运行结束后生成gmon.out文件,供gprof分析。gprof默认不支持多线程程序,默认不支持共享库程序。gcc -pg 编译程序运行程序,程序退出时生成 gmon.outgprof ./prog gmon.out -b 查看输出注意事项程序如果不是
2015-12-24 11:58:24 17907
转载 Apache Mesos总体架构
1. 前言同其他大部分分布式系统一样,Apache Mesos为了简化设计,也是采用了master/slave结构,为了解决master单点故障,将master做得尽可能地轻量级,其上面所有的元数据可以通过各个slave重新注册而进行重构,故很容易通过zookeeper解决该单点故障问题。(什么是apache mesos?参考:《统一资源管理与调度平台(系统)介绍》,本文分析基于M
2015-12-07 20:18:11 2648
转载 Pthreads并行编程之spin lock与mutex性能对比分析
Pthreads并行编程之spin lock与mutex性能对比分析POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Critical Section)进行保护
2015-12-05 00:29:07 5582
转载 C++ STL 学习 :for_each与仿函数(functor)
C++ STL 学习 :for_each与仿函数(functor)(一)摘自网络作者: zieckey 时间: 2010-07-20 13:38:00先看wikipedia定义:A function object, also called a functor, functional, or functionoid,[1] is a computer progra
2015-12-03 23:56:16 2878
原创 c++ template 的traits技术
本技术相对来说比较难理解,这种技术,是在stl源码中使用到的,给我感觉的作用就是对类的解耦。因为,工作中用到这种技术相对来说,比较少,所以,我目前还不是非常理解,下面是我敲书上的例子。首先上一段代码#ifndef BEARCORNER_H#define BEARCORNER_H#include using std::ostream;class Milk{public:
2015-11-28 01:12:13 1858
转载 Leveldb源码分析3 Cache
leveldb 实现了一个LRUCache。和标准的LRUCache一样没有什么特别之处。LRUCache内部有一个Hash表用于快速查找key对应的双向链表,双向链表中记录了value的值。利用双线链表实现LRUCache的算法在《操作系统》中描述的很清楚,这里不再描述。hashtable不是c++标准库的一部分,出于代码移植的考虑,leveldb自己实现了一个哈希表(Han
2015-11-08 23:55:11 1825
原创 linux 系统调用sysconf函数使用
在看开源代码的时候,尤其是获取cpu核数的时候,发现了一个很好用的一个函数 #include long sysconf(int name);通过名字可以猜到,该函数是获取一些系统的参数。然后通过man sysconf我们可以知道该函数的使用条件, POSIX allows an application to test at compile or r
2015-11-07 01:52:26 21615 5
转载 Twitter-Snowflake,64位自增ID算法详解
Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须分配一条唯一的id,这些id还需要一些大致的顺序(方便客户端排序),并且在分布式系统中不同机器产生的id必须不同。Snowflake算法核心把时间戳,工作机器id,序列号组合在一起。 除了最高位bit标记为不可用以外,其余三组bit占
2015-11-05 00:21:34 4405
原创 GCC参数详解
[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件 2.将预处理后的文件不转换成汇编语言,生成文件.s 3.有汇编变为目标代码(机器代码)生成.o的文件 4.连接目标代码,生成可执行程序 [参数详解] -c 只激活预处理,编译,和汇编,也就是他只把
2015-11-04 14:49:57 2705
转载 linux中内存使用,swap,cache,buffer的含义
首先介绍一下linux中内存是如何使用的。当有应用需要读写磁盘数据时,由系统把相关数据从磁盘读取到内存,如果物理内存不够,则把内存中的部分数据导入到磁盘,从而把磁盘的部分空间当作虚拟内存来使用,也称为Swap。如果给所有应用分配足够内存后,物理内存还有剩余,linux会尽量再利用这些空闲内存,以提高整体I/O效率,其方法是把这部分剩余内存再划分为cache及buffer两部分加以利用。从磁
2015-11-02 14:15:13 1175
转载 LVS技术浅析-WHY
LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器,早在2.4内核就已经合并入linux标准内核,并被全球各大互联网公司广泛使用;据我所知,国内百度/新浪/阿里/腾讯等都在使用LVS;下图是LVS在常用互联网应用架构中的位置:LVS处于最前端,用于将用户请求转发到后端的多台webserver上。LVS引入Virtual Server的概念,用
2015-10-27 09:50:00 1301
转载 Google Protocol Buffer 的使用和原理
Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。
2015-10-13 15:23:00 1264
转载 最值得阅读学习的 10 个 C 语言开源项目代码
原文出处: 平凡之路的博客 欢迎分享原创到伯乐头条伯乐在线注:『阅读优秀代码是提高开发人员修为的一种捷径』http://t.cn/S4RGEz 。之前@伯乐头条 曾发过一条微博:『C 语言进阶有哪些优秀的代码可以阅读?』http://t.cn/R72EdtY 。今天来看看 平凡之路 推荐的《最值得阅读学习的 10 个 C 语言开源项目代码》。1. Webbench
2015-10-12 09:35:33 1651
原创 直播间架构设计
趁着十一后,事情相对少,我来总结一下YY娱乐后台的整体结构。首先,娱乐后台都是基于公司的一整套分布式框架来进行开发的。内部的网络层代码都是基于C++实现的,封装了epoll的 非阻塞的网络操作。详细代码的deamo可以看我的写的相对来说比较清晰的一个。一、整体架构这个结构是相对来说比较简单了,只抽取了结构中比较重要的层,YY客户端,首先从service manager
2015-10-10 19:25:12 14722 1
转载 Syscall系统调用Linux内核跟踪
在Linux的用户空间,我们经常会调用系统调用,下面我们跟踪一下read系统调用,使用的Linux内核版本为Linux2.6.37。不同的Linux版本其中的实现略有不同。在一些应用中我们可以看到下面的一些定义:#define real_read(fd, buf, count ) (syscall(SYS_read, (fd), (buf), (count)))
2015-09-30 17:53:32 1796
原创 线程安全的简单的通用的cache
templateclass StupidCacheKV{private:map cache;mutable sox::mutex StupidCacheMutex;public:void set(const string& key, const T & value){sox::scope_lock lock(StupidCacheMutex);cache[k
2015-08-31 19:52:35 1649
转载 内存数据库中的索引技术
引言 传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称作磁盘数据库(DRDB: Disk-Resident Database)。磁盘数据库需要频繁地访问磁盘来进行数据的操作,磁盘的读写速度远远小于CPU处理数据的速度,所以磁盘数据库的瓶颈出现在磁盘读写上。 基于此,内存数据库的概念被提出来了。内存数据库(MMDB:Main Memory Database,也叫主存数据
2015-08-30 17:49:36 2169
标准库boost程序库导论(中文版).chm
2011-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人