zoukankan      html  css  js  c++  java
  • 大数据平台组技术路线执行理念

    大数据平台组技术路线执行理念

    写在最前:自己是一个思维灵活人员,就是太灵活,视角很宽,看到了很多新东西就想要尝试并学习、引入,但深入不够,同时架构太大出问题机率直线升高,有明确的执行理念指导,是非常必要的,做任何决定前必须想到这个基本理念,切切。


    0、精兵强将,稳扎稳打
    解读:不可盲目扩张人员,人多了管理成本增加,水平参差不齐,代码质量无法掌控。慢一点没关系,做一步回头看两步,
    稳步向前。

    1、足够简单,完全可控
    解读:尽量使用熟悉可控的软件,尽量少。出问题可以自主检查分析的。

    2、稳定第一,运维优先
    解读:没有成功先想着失败,一旦要保证备份,监控先行,集中精力打造思考运维平台,一出故障就会受到严重质疑。

    3、深度研究,谨慎扩展
    解读:对于使用的技术,一定要深研到底,不可浅尝辄止。对于引入新技术栈,要慎之再慎。

    =======================================================
    选型:
    1、选择Golang,放弃 Java
    理由:为了将服务分割成微服务,各业务模块独立编译,彼此之间强制隔离,各部分代码独立成项目,一个可执行文件,独立数据库。

    2、选择postgresql,放弃mysql
    理由:mysql在断电等异常情况下表现不佳,同时,我们在数据仓库中选型是GreenPlum,同样是postgresql技术体系,双线做战不如统一技术路线。

     3、选择自主研发go-sso项目,放弃cas和xxl-sso

    理由:统一技术栈,把所有技术细节抓在自己手中,整个框架可以先慢后快,不要出现不可控制的细节。

    # go-sso
    
    * "/login"  登录页面
    *  "/Success" 登录成功页面
    *   "/serviceValidate" 验证接口
    *  使用全局拦截器进行授权拦截,即校验cookie中的用户名,与票据的正确性。(1:是不是存在,2:如果存在,那么是不是鉴权中心发放的密码(DES自加自解))
      
    * jwt-go 创建签名
      
      涉及到创建Token,和检验Token
    
    ## 使用
    第三方直接点击跳转到
    http://127.0.0.1:8080/login?service=http://www.xxxx.com.cn/ceo_data 
    
    账户密码验证成功后,会跳转到service中,并带上token
    
    第三方系统只需要通过接口”/serviceValidate“ 验证就可以判断是否登录,并且能得到用户信息哦。

    4、微服务的实现方案 rpcx

    理由:选择简单,好用,基于golang,不支持其它语言。基于rpc通讯,性能高,符合选型的整体哲学。

    5、选择greenplum

    理由:做为数据仓库使用,系统日志采用也保存到这里,暂不上线ES。

    6、ETL工具

    DATAX,需要开发kafka的读插件和写插件。

    7、spark或flink

    理由:未来肯定会有流计算出现,目前的一期目标集中在greenplum,慢慢扩展。

    8、推荐算法KNN等
    需要不断学习概念,抽取模型。

    9、全部使用POST请求,不允许使用GET方式。【强制】

    https://www.v2ex.com/amp/t/595188

    10、PostgreSQL备份

    https://www.cnblogs.com/python-gm/p/9723478.html

    11、golang gin框架 使用swagger生成api文档

    https://www.cnblogs.com/Dong-Ge/p/11351559.html

    12、全面禁止使JOIN,对,是全部禁止使用。

    原因:

    (1)以后分库后,可能表都不在一个实例的机器上,比如资源表与人员表可能存在分布式的两台机器上,没法跨机器JOIN.

    (2)JOIN在大表上性能差,无法使用缓存。

    (3)在代码层采用多次SQL查询,调用服务RPC接口,调用MODEL层方法,ID IN ( REDIS缓存 ) 等方式进行改造。我将在自已动手的第一个基础数据模块中进行全面实践,并整理出经验分享给团队所有成员。阿里的规则是不允许多于2张表,我再狠一点,直接禁止了,一了百了。

    企业级数据仓库实战

    https://www.bilibili.com/video/av63753220/?spm_id_from=333.788.videocard.6

  • 相关阅读:
    TweenLite简单运用
    nodejs 重定向 (redirect + writeHead(Location))
    Nodejs Web模块( readFile 根据请求跳转到响应html )
    Express框架(http服务器 + 路由)
    AI 学习路线
    implicitly_wait()隐式等待
    Python 爬虫基础Selenium
    Selenium2+python自动化15-select下拉框
    python selenium while 循环
    jupyter notebook修改默认路径和浏览器
  • 原文地址:https://www.cnblogs.com/littlehb/p/12174655.html
Copyright © 2011-2022 走看看