腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
让技术和时代并行
专栏作者
举报
382
文章
423465
阅读量
29
订阅数
订阅专栏
申请加入专栏
全部文章
kubernetes
java
api
容器
linux
容器镜像服务
编程算法
prometheus
http
go
nginx
devops
web
存储
ip
数据
sql
安全
集群
监控
系统
node.js
数据库
grafana
工作
jvm
io
it
部署
最佳实践
hadoop
bug
deployment
server
配置
性能
负载均衡
缓存
jdk
微服务
服务网格
istio
kubectl
yaml
工具
xml
jar
自动化
网络安全
大数据
cpu
service
程序员
服务
服务器
架构
实践
json
打包
tomcat
负载均衡缓存
人工智能
tcp/ip
etcd
max
proxy
测试
互联网
日志
软件
性能优化
html
maven
运维
dns
windows
数据结构
架构设计
bit
container
db
error
redis
root
分布式系统
开发
软件开发
线程
php
python
android
云数据库 SQL Server
oracle
github
文件存储
mongodb
日志数据
开源
分布式
grep
https
性能测试
amd
assembly
cli
core
default
goroutine
guava
key
mysql
native
pid
ping
port
string
tls
编程语言
操作系统
插件
产品
程序
服务端
工具类
管理
解决方案
进程
镜像
流量
模型
内存
设计
同步
统计
对象存储
javascript
ruby
lua
servlet
云数据库 Redis
ide
spring
神经网络
深度学习
mapreduce
腾讯云测试服务
企业
压力测试
爬虫
ssh
正则表达式
rpc
udp
jenkins
云计算
ipv6
rust
amazon
aws
break
case
client
config
dashboard
dockerfile
email
exists
fluent
fluentd
for循环
free
google
host
influxdb
kill
ldap
mesh
meta
mq
properties
protobuf
ps
release
requests
return
runtime
security
size
static
storage
time
wait
wireshark
编码
低代码
高性能
工程师
行业
基础
集合
计算机科学
加密
客户端
垃圾回收
量化
漏洞
面试
软件工程
软件架构
算法
网络
虚拟机
异步
异常
硬件
优化
源码
指针
中间件
其他
c++
bash
jquery
postgresql
access
mvc
eclipse
svn
lucene/solr
ubuntu
centos
apache
bash 指令
批量计算
访问管理
云数据库 MongoDB
数据库一体机 TData
cci 持续集成
网站
混合云解决方案
黑客
shell
面向对象编程
hashmap
zookeeper
自动化测试
aop
单元测试
dubbo
ddos
socket编程
lamp
物联网
安全漏洞
系统架构
kafka
迁移
groovy
功能测试
负载测试
raft
es
零信任安全
activemq
agent
akka
algorithm
apex
app
apply
async
asynchronous
atom
average
azure
bandwidth
bitmap
boot
buffer
build
builder
byte
channel
class
clock
code
com
command
compare
consul
controller
copy
correlation
count
cron
crud
curl
database
date
decode
device
dos
druid
dst
elasticsearch
endpoint
excel
exception
execute
executorservice
facebook
fastjson
fedora
file
filter
final
flags
flatbuffers
fork
gc
gin
gpt
gzip
haproxy
hash
heap
histogram
history
hook
hostname
image
init
input
int
iot
iptables
ipv4
jetty
jira
kibana
limit
line
live
local
match
memory
messaging
metrics
min
minikube
mock
modbus
nagios
nfs
object
offset
ole
operators
owasp
packet
partial
patch
pdb
pdf
plugin
point
private
profiler
project
public
puppet
pusher
quartz
queue
replace
request
response
ribbon
route
saas
scheduler
scheduling
sdl
select
semaphore
session
sh
socket
sql语句
src
stdin
summary
super
swap
synchronized
tcp
tcpdump
telnet
thread
thrift
timeout
traefik
tree
txt
ui
union
url
vi
volume
web3
weblogic
word
worker
xss
youtube
zip
备份
编程
编辑器
编译
并发
测试工具
测试开发
磁盘
定时器
定时任务
动画
多线程
二进制
工业互联网
公有云
关系型数据库
后端
后台
后台开发
混合云
计算机
计算机网络
监控工具
兼容性
接口
接口文档
可视化
框架
浏览器
内核
权限
软件测试
设计模式
生命周期
手机
数据库设计
数据中心
搜索
文件系统
系统设计
线程池
协议
芯片
性能分析
序列化
需求分析
压缩
用户体验
语法
原理
原型
云安全
主机
注解
状态机
搜索文章
搜索
搜索
关闭
Thread和goroutine两种方式实现共享变量按序输出
编程算法
go
java
javascript
node.js
最近在看go的一些底层实现,其中印象最为深刻的是go语言创造者之一Rob Pike说过的一句话,不要通过共享内存通信,而应该通过通信来共享内存,其中这后半句话对应的实现是通道(channel),利用通道在多个协程(goroutine)之间传递数据。看到这里,我不禁产生了一个疑问,对于无状态数据之间的传递,通过通道保证数据之间并发安全没什么问题,但我现在有一个临界区或者共享变量,存在多线程并发访问。Go协程如何控制数据并发安全性?难道还有其它高招?带着这个疑问,我们看看Go是如何保证临界区共享变量并发访问问题。
用户5166556
2020-09-15
748
0
让我们一起揭开Etcd背后Raft算法的面纱
编程算法
raft
etcd
日志数据
最近在使用K8S过程中,一直用到了一个Key-Value数据库Etcd,每当看到有介绍Etcd的教程时,介绍不多,大多都是独立于K8S集群之外,保存状态数据。再深入百度下,发现Etcd是一个可靠的,分布式的Key Value存储系统,它用于存储分布式系统中的关键数据,一个Etcd集群,通常会由3个或者5个节点组成,多个节点之间,通过一个叫做Raft一致性算法的方式完成分布式一致性协同,算法会选举出一个主节点作为leader,由leader负责数据的同步与数据的分发,当leader出现故障后,系统会自动地选取另一个节点成为leader,并重新完成数据的同步与分发。
用户5166556
2020-09-07
891
0
Loki漫谈
kubernetes
存储
编程算法
Kubernetes已经成为编排领域事实上的标准,同时Prometheus也成为基于Kubernetes平台之上、监控领域的标配。Prometheus能够收集业务metrics数据,Grafana界面展示,AlertManager告警,一站式的监控框架就此诞生。通过这一套框架可以在线监控服务运行状态,如果不正常,能够通过各种途径通知给相关人员;相关人员通过查看告警信息,通过日志分析出现问题具体原因。
用户5166556
2020-07-19
1.8K
0
云原生的应用管理中心—Helm详解
kubernetes
云计算
打包
编程算法
在2016年,随着k8s成为编排领域事实上的标准,很多公司的PaaS平台都转向以k8s为基础容器化平台,但是Deis(helm公司)是一个地地道道的PaaS服务商,在这片云原生的红海中步履维艰,幸运的是,凭借敏锐的技术嗅觉最终还是拯救了这个的团队。2016年底,Deis开始全面转向k8s体系,它不像其它公司一样把k8s作为PaaS基础设施工具,而是围绕k8s产生的编排文件做了应用包管理器helm。
用户5166556
2020-07-14
2.1K
0
基于helm部署Kubernetes下的高可用redis
云数据库 Redis
node.js
kubernetes
linux
编程算法
笔者用过 helm,它是Kubernetes下的包管理器,相当于apt-get、yum、brew这样的软件工具,用的是 helm(v2)版本,下面所介绍的 helm指的都是 v2 版本。通过使用 helm 解决了安装和部署复杂的 Kubernetes 应用,比如经常使用的 memecache、redis、MySQL。也解决过部分粉丝在用 helm 部署程序过程遇到一些问题,其中有几个粉丝一再建议我写一篇文章介绍下 helm,其实我是不想写的,究其原因有两点,第一、helm 官网和镜像仓库介绍非常详尽,当然安装也非常简单。第二、helm 如果想深入使用,必须搞明白 go 的模板语法,对于大多数用户来说,只是用来管理不同环境的编排文件,现在又要学一门模板语言,有一定的学习成本,所以就这点我是不太认可 helm 的。当然很多人会说,不如直接选择 Kubernetes 集成的 Kustomize,不用安装任何多余程序,即可完成不同环境应用配置和打包,但从本质上来说,helm 和 Kustomize 是有一定区别的,Kustomize 利用base+overlay的思想生成最终的描述文件,对原有yaml 编排文件不用怎么修改,即可无缝集成,使用上更简单。而 helm 则又分为仓库、helm 客户端、tiller 服务端,使用过程中,在底层定义模板,外层赋值。使用起来更复杂,但不可否认 helm 更强大,它不仅能够完成不同环境应用的打包和配置,更是对应用进行全生命周期的管理,比如查看历史部署版本、回退、升级等;另外支持应用程序的查找、以及应用程序依赖关系定制化等功能。之前介绍过 Kustomize 的使用,下文结合 redis-ha 安装部署介绍下 helm,使你对 Kustomize 和 helm 之间的功能点有一个更清楚的认识。
用户5166556
2020-06-19
2.4K
0
你是一名专业人士吗?
编程算法
开完每日站立会议后,你照常做到工位上,打开邮件,发现邮箱里面收到了现场预警信息,紧接着连上现场A日志服务器,发现并没有什么异常日志,但是B服务已经一夜因为没有收到订阅消息,这很是不正常的,但是确没有看出任何端倪。
用户5166556
2019-11-28
410
0
一次搞懂序列化和反序列化
文件存储
java
编程算法
socket编程
1. 为什么需要序列化? 因为如果不实现序列化,那么则无法反序列化 2. 序列化使用场景? 1. 需要存储对象,比如说我现在需要把内存中的对象暂时写入硬盘,等我系统启用时在加载到内存反序列化后继续使用。 2. 需要远程传输对象,则需要实现序列化接口,大多在socket网络套接字编程场景中比较常见, 有同学可能说,我经常使用socket传输数据,确没有实现序列化接口,因为很多情况下我们都是传输的String字符串,而在Java中String已经实现了Serializable接口 3. 序列化常见出错问题? 不实现序列化接口进行保存对象会出现如下错误,可以通过实现Serializable接口解决问题。
用户5166556
2019-11-28
377
0
为什么更希望在开发过程中出现需求变更?
编程算法
在项目开发过程中,项目经理拿到客户需求待办事项后,架构人员开始针对客户功能做架构设计,产品人员针对需求列表做产品原型设计,开发人员根据架构和原型开始做系统概要设计,详细等等设计,测试人员需要写测试用例,开发、提交测试、验收......
用户5166556
2019-11-28
669
0
如何用命令定位导致CPU飙升(死循环,死锁..)所在代码行数?
编程算法
我们可以执行下top命令,看下机器负载情况,如果发现有CPU占用特别高的进程,则需要进一步排查
用户5166556
2019-11-26
1.1K
0
如何跳过es分页这个坑?
javascript
编程算法
这只是允许你更进一步深度分页,却没有从根本上解决深度分页的问题,而且随着页码的增加,系统资源占用成指数级上升,很容易就会出现OOM。
用户5166556
2019-07-02
5.1K
0
怎么确定一个变量的类型
编程算法
例如 int * p[10] 怎么确定这个变量的类型呢,众所周知,利用sizeof一个变量,和一个变量的类型得到的值应该是相同的。
用户5166556
2019-04-16
444
0
C中字符串知识学习小记
编程算法
1:在C中我们说"H"这是一个字符串,总共占有2个字节,后面有一个'\0'伪零结束符。
用户5166556
2019-04-16
316
0
把一个字符串赋值给一个数组
编程算法
我们可以定义一个指针类型的字符串,把它的地址传递给一个指针类型的数组 #include <stdio.h> int main(void) { //这个字符串p本身代表一个地址 char * p = "hello world!"; //ch本身是一个指针类型的数组,指向ch这一片空间 char * ch[64]; ch[0] = p; printf("%s\n",ch[0]); return 1; } 输出结果为:h
用户5166556
2019-04-16
1.5K
0
程序开发中那些莫名奇妙的bug
java
windows
云数据库 SQL Server
编程算法
数据库
众所周知,程序员的使命,就是不停的编程,调试,测试,直到上线为止。但其中相当一部分时间都花费到调试上,因为我们总会在开发过程中因为不同的环境,编码语言规则,导致我们遇到各种各样的奇葩问题,当别人发现这些问题时,我们很惊讶的告诉别人,这不可能!或者说要不然你重启下,或者你电脑抽风了吧,实际上,有些问题,是因为我们的个人习惯导致的bug,百分之九十的情况下通过重启根本解决不了任何问题,所以我们在编程过程中一定要养成谨慎,认真的习惯。从而节省我们更多的时间去做更有意义的事情。
用户5166556
2019-04-16
586
0
软件工程没有银弹
编程算法
统一编程环境,使我们的软件在一个环境上运行成功之后,迁移到另外一个环境下面也是可以正常运行的,从而降低我们学习的成本,再者就是智能的编程工具,能够在开发阶段帮助我们检查我们最常见的语法,等逻辑错误。
用户5166556
2019-04-16
1.1K
0
ThreadLocal共享线程局部变量和线程同步机制的区别
编程算法
java
ThreadLocal是解决线程安全问题一个很好的思路,它通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题。在很多情况下,ThreadLocal比直接使用synchronized同步机制解决线程安全问题更简单,更方便,且结果程序拥有更高的并发性。
用户5166556
2019-04-16
735
0
如何把.csv文件导入到mysql中以及如何使用mysql 脚本中的load data快速导入
编程算法
云数据库 SQL Server
数据库一体机 TData
批量计算
sql
1, 其中csv文件就相当于excel中的另一种保存形式,其中在插入的时候是和数据库中的表相对应的,这里面的colunm 就相当于数据库中的一列,对应csv表中的一列。
用户5166556
2019-04-16
5.7K
0
java怎么区分值传递和引用传递
编程算法
java中值传递和引用传递一直饱受争议难以区分,下面我通过几个例子来区分一下什么时间是值传递,什么时间是引用传递
用户5166556
2019-04-16
652
0
Java中基本类型的转换
编程算法
我们经常在编程时会出现int或者其他类型转成String,String转化成int,下面我总结一下常用的几种转换方式:
用户5166556
2019-04-16
698
0
多线程的并发执行应用(生产者消费者模式)
编程算法
在实际的开发中我们为了提高CPU的利用率,也提高程序的执行效率,我们经常使用多线程进行对数据进行并发处理,下面我举一个多线程并发执行的实例,大致意思就是
用户5166556
2019-04-16
636
0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
点击查看
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
立即参加
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档