akka+netty+pb+redis+mysql=?

akka+netty+pb+redis+mysql=?,第1张

Jedis已经足够强大,它的网络连接是基于阻塞式IO,实现非常简单易懂,但是OIO和NIO相比性能上有劣势,于是决定通过NIO来实现和Redis服务器的网络连接,现在业界最优秀的NIO框架非Netty莫属了,正好以前也学过Netty框架,所以决定基于Netty来实现这个Redis客户端,这样还可以同时再次熟悉一下Netty,于是一个高大上的名字新鲜出炉-Nedis。关于命令的实现就没什么好纠结,完全参照Redis官方文档来就可以了,也可以参考Jedis代码。

由于本码农平时工作比较忙,在公司工作时是不可能抽时间来搞的,一没时间,大佬们各种催活,二是由于公司的信息安全政策,公司里面写的代码是拿不出来的。所以只有利用晚上下班时间和周末的业余时间来搞,工作日有2-3个小时的时间,大概10点开搞,到1点左右,周末由于要带娃做饭,也只能挤出3-4个小时出来,所以进展比较慢,从4月初到现在将近20天的时间终于完成了key、string、hash、list、set、 SortedSet的所有单机命令以及客户端分片(Sharding),其它的事务、lua脚本、集群等功能还未实现,留到后面版本再实现。

HPA实现原理: 通过分析追踪指定RC控制的所有目标POD的负载变化情况,

来确定是否需要针对性地调整目标POD的副本数量

HPA度量指标: 1: CPU  2: 应用程序自定义的度量指标 比如服务在每秒内的相应请求数,如TPS  QPS

CPU利用率  Pod Request/ pod 使用量

如果没有定义Pod Request的值,则无法实现Pod 横向自动扩容

kubernetes 从1.2开始也在尝试支持应用程序自定义的度量指标

------------------------------------------------------------------------------------------------------------

CPU使用量通常是1MIN内的平均值

从1.7版本开始,kubernetes自身孵化了一个基础性能数据采集监控框架:

kubernetes Monitoring Architecture

HMA

kubernetes自定义了一套标准化的API接口, Resource Metrics API

客户端应用程序(HPA)

------------------------------------------------------------------------

下面是HPA定义的一个具体例子:

超过90% 会自动扩容,约束条件是Pod的副本数为1-10

也可以通过简单命令行直接创建等价的HPA对象:

POD的管理对象 RC Deployment DaemonSet Job都面向无状态的服务

复杂的中间件集群: 如MYSQL mongodb akka zookeeper集群都是有状态的

-----------------------------------------------------------------------------------

StatefulSet 可以看作是RC/Deployment  的一个特殊变种

RC/Deployment无法满足

1: 固定id 相互通信

2: 集群规模固定,不能随意变动

3: 每个节点都是有状态的,通常持久化数据到永久存储中

4: 磁盘顺坏则无法正常运行,集群功能受损

----------------------------------------------------------------

statefulSet有如下特性:

1: 稳定,唯一的网络标识

用来发现集群内其他成员 如第一个: kafka-0  第二个: kafka-1

2: statefulSet控制的POD启动顺序是受控的, *** 作n个POD,前面n-1是运行且准备好的状态

3: Pod采用稳定的持久化存储卷

通过PV或PVC来实现

删除POD时不会删除存储卷

-------------------------------------------------------------------------------------

StatefulSet 与PV 绑定以存储POD的状态数据

还要与Headless Service 配合使用

在每个StatefulSet中声明它属于哪个headless Service

HEADless Service 与 普通 Service的区别:

它没有Cluster IP 如果解析Headless Service的域名返回的是Service对应的全部POD的Endpoint列表

StateFulSet在HEadless Service的基础上又为StatefulSet 控制的每个POD 实例都创建了一个DNS域名,域名为 $(podname).$(headless service name)

如: kafka-1.kafka kafka-0.kafka

随着云时代的发展,大数据也吸引了越来越多的目光。云计算和大数据早已成为不可分割的一体,掌握了云计算和大数据也就掌握了大数据常见的实时以及离线开发框架,具备架构设计以及开发能力,能够胜任 hadoop开发工程师,spark开发工程师,flink开发工程师等岗位。下面是各个阶段适应的岗位:阶段一:基础知识(linux *** 作基础、shell编程、hadoop集群环境准备、zookeeper集群、网络编程)、JVM优化(JVM运行参数、JVM内存模型、jmap命令的使用、jstack命令的使用、VisualVM工具的使用、JVM垃圾回收算法、JVM垃圾收集器、Tomcat8优化、JVM字节码、代码优化)。完成以上初级阶段的学习,大家就能够完成中小型企业常见的自动化脚本。阶段二 :hadoop环境搭建2.0(hadoop源生集群搭建、CDH版本集群搭建)、hdfs(hdfs入门、hdfs深入)、mapreduce(mapreduce入门、mapreduce深入学习、mapreduce高级)、yarn、hive(hive安装、hive基本 *** 作、hive高级用法、hive调优)、辅助系统工具(flume、azkaban调度、sqoop0)、IMPALA、HUE、OOZIE。学到这个阶段大家基本能够胜任离线相关工作,包括ETL工程师、hadoop开发工程师、hadoop运维工程师、Hive工程师、数据仓库工程师等岗位。阶段三 :kafka消息队列、storm编程(storm编程、strom实时看板案例、storm高级应用)。完成第三阶段的学习,大家能够胜任Storm实时计算相关工作,包括ETL工程师、大数据开发工程师、Storm流式计算工程师等岗位。阶段四 :项目开发(strom日志告警、strom路由器项目开发)。了解了strom项目开发,大家能够胜任流计算开发工作,流式计算工程师、大数据开发工程师等相关工作岗位。阶段五 :Scala编程(Scala基础语法、Scala中面向对象编程、Scala中的模式匹配、Scala中的actor介绍、Actor实战、Scala中的高阶函数、隐式转换和隐式参数、Akka编程实战)、Spark(Spark概述、Spark集群安装、Spark HA高可用部署、Spark程序、RDD概述 、创建RDD 、RDD常用的算子 *** 作 、RDD的依赖关系、RDD的缓存机制 、DAG的生成 、spark检查点、Spark SQL概述 、DataFrame介绍以及与RDD对比 、DataFrame常用 *** 作 、DataSet的介绍、以编程方式执行Spark SQL查询、Spark on Yarn介绍、sparkStreaming概述、Spark Streaming原理 、DStream相关 *** 作、Dstream *** 作实战、sparkStreaming整合flume实战、sparkStreaming整合kafka实战)、Hbase(hbase简介、hbase部署、hbase基本 *** 作、hbase的过滤器、hbase原理、hbase高阶)。完成第五阶段的学习,大家能够胜任Spark相关工作,包括ETL工程师、Spark工程师、Hbase工程师等等。阶段六 : 用户画像(用户画像概述、用户画像建模、用户画像环境、用户画像开发、hive整合hbase、hbase集成phoenix、项目可视化)。完成大数据Spark项目实战能够胜任Spark相关工作,包括ETL工程师、Spark工程师、Hbase工程师、用户画像系统工程师、数据分析师。阶段七 :Flink(Flink入门、Flink进阶、Flink电商项目)。完成Flink实时计算系统的学习,大家能够胜任Flink相关工作,包括ETL工程师、Flink工程师、大数据实时开发工程师等岗位。阶段八 : 机器学习入门(机器学习概念、机器学习数学基础)、机器学习语言基础(Python语言、Python数据分析库实战、用户画像标签预测实战)、集成学习算法、构建人才流失模型、数据挖掘项目、推荐系统、CTR点击率预估实战。完成最后的学习能够胜任机器学习、数据挖掘等相关工作,包括推荐算法工程师、数据挖掘工程师、机器学习工程师,填补人工智能领域人才急剧增长产生的缺口。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7394831.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存