Redis

开源日志管理平台ELK Stack 7.9.0 部署

青春壹個敷衍的年華 提交于 2020-10-03 11:11:14
环境介绍 为简化安装和升级,Elastic Stack各组件版本是同步发布的。本次安装,采用最新的7.9通用版。官方有多种安装方式:tar、rpm、docker、yum形式,我选择用tar包安装。 Elastic Stack 组件: Beats7.9 (filebeat) Elasticsearch7.9 Kibana7.9 Logstash7.9 操作系统:CentOS8.2.2004 JDK版本:jdk-14.0.2_linux-x64_bin.rpm(Logstash依赖JDK) Redis版本:5.0.3 (yum 安装) 下载地址: https://artifacts.elastic.co/downloads/kibana/kibana-7.9.0-linux-x86_64.tar.gz https://artifacts.elastic.co/downloads/logstash/logstash-7.9.0.tar.gz https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.0-linux-x86_64.tar.gz https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.9.0-linux-x86_64

Java之父找工作犯难,面试时候遭遇年龄歧视,大龄程序员何去何从

谁都会走 提交于 2020-10-03 10:52:53
Java——现在最火爆的编程语言之一。 在不久之前,65岁的Java之父James Gosling在社交媒体软件上发布消息称自己在面试的时候遭遇了年龄歧视。 具体内容就是,他在面试的时候被HR告知:“通常我们在招程序员的时候,是不考虑你这个年纪的。但由于你的身份特殊(指的是他Java之父的身份),可以对你特殊考虑。“甚至还能在大型计算机公司的内部,听见程序员组团去整容的消息。 James Gosling作为Java之父的身份姑且可以在硅谷谋求到一份不错的职务,但是其他普通的年长从业者可就没那么好的待遇,他们的焦虑和歧视,迫使他们不得不从事外贸。履历和思想上使自己更年轻化。 想必大家也都听说过,某35岁计算机高管因年龄太大被辞退,不得不每天送外卖维持生计。这也是为什么程序员们,组团去整容来使自己更加年轻。 从计算机行业发展势头越来越猛的时候,中国的IT从业人员就逐步趋于年轻化。对于公司来说,聘请年轻的员工也有很多的好处。因为年轻的员工价钱更便宜,然后都是刚毕业或者刚就业不久,可以给公司带来更多的活力。 并且互联网职业的加班是心知肚明的,这个时候年轻人就更有自己的价值,他们有更充沛的体力和精力工作,从其他方面考虑,年轻人的父母相对年纪不大,大多数也没有结婚生子,更不会有后顾之忧,也不会被家庭拖累。 前几年看新闻的时候就注意到了,现在国内的大部分大企业都在清理老员工,给新人提供更多的机会

云安全运营总结

守給你的承諾、 提交于 2020-10-03 09:53:01
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 做云安全运营也有一年多时间了,对云上安全建设和运营有一点粗浅的经验,希望可以抛砖引玉,借此文章能有机会和大佬们交流 安全运营,安全建设方向的经验。 首先我贴一张思维导图,云上安全运营工作主要围绕此图开展,因为我们的身份是云安全乙方,所以不开展SDL工作。 一、风险管理 风险管理工作是安全运营的重头戏,风险管理是一个动态的过程,所以工作量不言而喻。 我们的风险管理其实和甲方的有些不一样,比如我们省去了对重要资产的估值这一步,只要是租户的资产,我们都ALL IN ONE,我们把重心放在更细粒度的发现风险项上。 1.1 云上风险项 1.2 自动化监控风险 阿里云几乎所有的产品都支持API调用,通过编写相关规则,可以实现自动化监控风险的功能。 例如安全组风险,通过如下代码可以获取到某个Region的所有安全组信息 返回的字典数据中,Permission字段包含了“授权方向”,“IP协议”,“授权范围”,“端口范围”,“授权策略” 通过如下示例代码可以过滤出存在高风险的安全组 这里仅以安全组风险举例,其它风险项如法炮制,都是调用阿里云API获取数据,并通过规则筛选出风险项。 6个风险项,以面向对象的编程思想封装成6个类。并设置计划任务,每天运行一次。 1.3 降低风险

MQTT Broker 服务器选型

做~自己de王妃 提交于 2020-10-03 09:45:51
MQTT Broker 服务器选型 EMQ-X HiveMQ ActiveMQ Mosquitto License 开源+商用 开源+商用 开源 开源 公司 杭州映云科技 dc-square ,德国 Apache 项目维护者 Eclipse 开源社区 开发语言 Erlang Java Java C 连接数 开源 十万级 ,商用 百万级 开源25个,商用 百万级 千万级 系统性能 单机十万 单机百万 集群千万 支持集群 协议支持 MQTT、CoAP、MQTT-SN、WebSocket、LwM2M MQTT MQTT、JMS、Openwire、Stomp、AMQP、WebSocket XMPP MQTT、WebSocket MQTT 5.0 √ √ × √ 认证鉴权 TLS/DTLS、ClientID/IP地址/用户密码认证、根据IP地址/ClientID/用户名访问控制LDAP/Redis/MySQL/MongoDB/PostgreSQL/HTTP API认证 TLS/DTLS、X.509证书、JWT、OAuth2.0、应用协议(ID/用户名/密码)、配置文件形式的认证与 ACL 功能 LDAP (JAAS)、Apache Shiro × 规则引擎 开源支持 基础规则引擎 ,商用支持 增强规则引擎 × × × 消息存储 开源 不支持 ,商用支持Redis、MySQL、MongoDB

高并发

北战南征 提交于 2020-10-03 07:43:10
应用级缓存 HTTP缓存 Last-Modified、E-Tag 多级缓存 连接池线程池 对象池,复用对象减少创建对象、垃圾回收的开销 连接池,Redis连接池、HTTP连接池、数据库连接池,复用TCP连接来减少创建和释放连接来提升性能 线程池,复用线程提升性能 池化通过复用提升性能。 异步并发 异步Future、异步Callback、异步编排CompletableFuture、异步Web服务实现、请求缓存、请求合并 扩容 单机垂直、水平扩容,应用拆分,数据库拆分,数据库分库分表,数据异构(全局表、ES搜索、异构表) 队列 缓冲队列(Log4j BufferWriter、AsyncAppender),任务队列(线程池LinkedBlockingQueue, Disruptor RingBuffer),消息队列,请求队列,数据总线队列 来源: oschina 链接: https://my.oschina.net/u/2939155/blog/4436688

052. Redis 内存管理

一笑奈何 提交于 2020-10-03 06:35:41
1. 内存分配 不同数据类型的大小限制 Strings 类型:一个 String 类型的 value 最大可以存储 512M。 Lists 类型:list 的元素个数最多为 2^32-1 个,也就是 4294967295 个。 Sets 类型:元素个数最多为 2^32-1 个,也就是 4294967295 个。 Hashes 类型:键值对个数最多为 2^32-1 个,也就是 4294967295 个。 最大内存控制 maxmemory 最大内存阈值 maxmemory-policy 到达阈值的执行策略 2. 内存压缩 # 配置字段最多 512 个 hash-max-zipmap-entries 512 # 配置 value 最大为 64 字节 hash-max-zipmap-value 64 # 配置元素个数最多 512 个 list-max-ziplist-entries 512 # 配置 value 最大为 64 字节 list-max-ziplist-value 64 # 配置元素个数最多 512 个 set-max-intset-entries 512 # 配置元素个数最多 128 个 zset-max-ziplist-entries 128 # 配置 value 最大为 64 字节 zset-max-ziplist-value 64 大小超出压缩范围,溢出后 Redis

10月加油!总结9月份BAT大厂高频出现的Java面试题整理(附答案)

我的未来我决定 提交于 2020-10-03 05:28:30
前言 哈哈哈!终于到了9月份的最后一天,怀着满怀激动的心情,明天就要放国庆假了! 所以今天博主放大招,把目前整理的所有大厂的 高频Java面试 题全都拿出来啦! 答案放在 文章末尾 ,正篇走起! 面试题总共分为:并发编程+JVM+SPRING+数据库+缓存+网络编程+分布式 并发编程: 什么是多线程并发和并行? 什么是线程安全问题? 什么是共享变量的内存可见性问题? 什么是Java中原子性操作? 什么是Java中的CAS操作,AtomicLong实现原理? 什么是Java指令重排序? Java中Synchronized关键字的内存语义是什么? Java中Volatile关键字的内存语义是什么? 什么是伪共享,为何会出现,以及如何避免? 什么是可重入锁、乐观锁、悲观锁、公平锁、非公平锁、独占锁、共享锁? 讲讲ThreadLocal 的实现原理? ThreadLocal 作为变量的线程隔离方式,其内部是如何做的? 说说InheritableThreadLocal 的实现原理? InheritableThreadLocal 是如何弥补 ThreadLocal 不支持继承的特性? CyclicBarrier内部的实现与 CountDownLatch 有何不同? 随机数生成器 Random 类如何使用 CAS 算法保证多线程下新种子的唯一性? ThreadLocalRandom 是如何利用

使用redis-exporter对redis集群进行性能监控

限于喜欢 提交于 2020-10-03 04:50:30
redis集群有三种模式,主从,sentinel(哨兵),cluster。关于这三种模式的介绍和部署,其它文章也有相关介绍,本人参考了他人的博客完成了三种模式的部署,博客地址在评论区。 目前redis使用主从模式,集群信息如下: [root@master redis]# redis-cli -h 192.168.122.7 -a 123456 info replication Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. # Replication role:master connected_slaves:2 slave0:ip=192.168.122.8,port=6379,state=online,offset=28,lag=0 slave1:ip=192.168.122.9,port=6379,state=online,offset=28,lag=1 master_replid:950b3c2b60b56148577e566ac53af00911527c4e master_replid2:0000000000000000000000000000000000000000 master_repl_offset:28 second

谐云推出全球首款基于OAM的可视化实现产品

六月ゝ 毕业季﹏ 提交于 2020-10-03 04:49:49
以下文章来源于阿里巴巴云原生 作者 | 徐运元,杭州谐云科技合伙人及资深架构师,云计算行业和 Kubernetes 生态资深从业者 导读: 近日,谐云率先实现了基于OAM(开放应用模型)的可视化编排,给全球云原生生态事业填上完美的一笔,成为全球首款基于OAM的应用可视化编排平台。 ​​什么是OAM(open application model)? OAM 是一个专注于描述应用的标准规范。有了这个规范,应用描述就可以彻底与基础设施部署和管理应用的细节分开。这种关注点分离(Seperation of Conerns)的设计好处是非常明显的。举个例子,在实际生产环境中,无论是 Ingress ,CNI,还是 Service Mesh,这些表面看起来一致的运维概念,在不同的 Kubernetes 集群中可谓千差万别。通过将应用定义与集群的运维能力分离,我们就可以让应用开发者更专注于应用本身的价值点,而不是”应用部署在哪“这样的运维细节。此外,关注点的分离让平台架构师可以轻松地把平台的运维能力封装成可被复用的组件,从而让应用开发者能够专注于将这些运维组件与代码进行集成,从而快速、轻松地构建可信赖的应用。Open Application Model 的目标是让简单的应用管理变得更加轻松,让复杂的应用交付变得更加可控。 OAM能为我们带来什么? 关注点分离:开发者关注应用本身

项目系统Netty的Channel和用户之间的关系绑定正确做法,以及Channel通道的安全性方案

為{幸葍}努か 提交于 2020-10-03 04:10:29
前言 考虑一个功能业务,在 web 程序中向指定的某个用户进行实时通讯 在Web运用的 Socket 通讯功能中(如在线客服),为保证点对点通讯.而这个看似简单的根据用户寻到起 channel 通道实际会碰到不少问题 web程序中的 Http 协议是无状态的 一般项目中 socket 服务和 web 项目是独立部署的 socket 连接存在重连的情况,而 Channel 对象每次都不一样 Channel 是面向网卡绑定的,无法序列化 解决方案 通过管理一个线程安全的 用户标识 (如用户主键)和对应 channel 的 map 链表 private final ConcurrentHashMap<String, Channel> channelMap = new ConcurrentHashMap<>(); 那么问题来了, 在 netty 模块中怎么得到这个 用户标识 ? 又如何保证 netty socket 模块可以安全的识别某个通道属于某个用户?(这个可以像上面一样的方式解决) netty socket 模块接收到一条消息又任何证明这条通道是可信的? 在 netty 的实现中是没有认证也没有 HttpSession 这个东西的,也就是说.在 netty 程序线程中是无法得到web项目登录的用户情况的. 出于这点,参考 web 项目集群的 session 共享方案