V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
v2defy
V2EX  ›  Kubernetes

什么项目能同时用上 mysql/redis/nginx/es/mq/docker/k8s/rpc/protobuf/session/cookie/jwt?

  •  
  •   v2defy · 2022-06-08 01:00:41 +08:00 · 8651 次点击
    这是一个创建于 650 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这两天面试很受打击,我很菜,工作的项目也菜,外面时髦的技术一概用不上,想换工作了,一面试,问的我全答不上来,没办法,我没用过呀。

    我想做一个项目,把上面一大串全用一遍,怎么高级我怎么用,mysql 我要分库分表,读写分离,redis 我要集群部署,主从复制,nginx 我要反向代理,负载均衡,mq 我要削峰填谷,解耦分离,我还要做成微服务,docker ,k8s 全用上,什么服务发现,服务治理,全都折腾一遍,我要 rpc ,一个 add 函数我也要做成 rpc ,我要 protobuf ,无他,就是玩,session ,cookie ,jwt ,我要全用上,不然怎么知道他们的区别呢?说到区别,那我要做两个,一个用 tcp 协议,另一个用 udp 协议,一个用 http ,另一个用 https ,还有 restful api ,只用 get ,post 是不够的,还得 put ,patch ,delete 。

    等我把这个项目做出来,再找工作就手到擒来了吧,做个什么项目好呢?

    83 条回复    2022-06-11 14:54:14 +08:00
    cvbnt
        1
    cvbnt  
       2022-06-08 01:06:39 +08:00 via Android
    很简单,电商项目,电商项目是培训班的拿手好戏,可以把上面说的全部用到
    dzdh
        2
    dzdh  
       2022-06-08 01:29:14 +08:00
    多大。

    二十出头:折腾吧。骚年。

    三十出头:emmmm ,先看看八股文吧

    四十出头:不行就转行吧
    v2defy
        3
    v2defy  
    OP
       2022-06-08 01:33:14 +08:00 via Android   ❤️ 44
    我决定了,要做一个计算器项目,只有加减乘除 4 种操作,4 种操作做成 4 个服务,然后把上面这些全用上
    learningman
        4
    learningman  
       2022-06-08 02:06:21 +08:00 via Android   ❤️ 2
    你想不出来什么东西需要这些,就说明你还没掌握。
    不过怎么连 cookie session 都往里面写了?基础就不用再强调一下了吧
    LancerComet
        5
    LancerComet  
       2022-06-08 02:12:52 +08:00
    手机上随手打开一个互联网产品大概率这些都有
    jones2000
        6
    jones2000  
       2022-06-08 02:14:25 +08:00
    项目预算多少?
    AItsuki
        7
    AItsuki  
       2022-06-08 02:17:53 +08:00
    虽然这些东西都不时髦,但是加油吧=。=
    freakxx
        8
    freakxx  
       2022-06-08 02:55:52 +08:00   ❤️ 2
    这些玩意不是挺常规的吗?

    玩八股文 还有的一喷,
    就列的这些玩意都他妈觉得时髦(此文时髦 = 奇技淫巧),还能反嘲。
    找个工厂打螺丝去吧,菜不是原罪,菜而自以为是才是。
    Morii
        9
    Morii  
       2022-06-08 03:52:49 +08:00   ❤️ 1
    一个正常的分布式互联网项目就是这些呀,我现在一个人做的我们公司的就是这一套东西


    session/cookie 不过这种就没必要写了
    pengtdyd
        10
    pengtdyd  
       2022-06-08 04:55:42 +08:00
    同意楼上!现在微服务大行其道,我觉得你写的技术点还只是冰山一角。
    v2defy
        11
    v2defy  
    OP
       2022-06-08 07:44:07 +08:00 via Android
    我是真想做个东西把这些都用上,因为我真的没机会用
    jorneyr
        12
    jorneyr  
       2022-06-08 07:53:33 +08:00
    现在的 Web 项目,稍微大一点的这些都能用上。
    baobao1270
        13
    baobao1270  
       2022-06-08 08:04:28 +08:00   ❤️ 2
    "等我把这个项目做出来,再找工作就手到擒来了吧" 你这个思想就不对

    确实大厂几乎都会用到几乎你说的所有东西
    但是个人项目做出来,不代表你就真的会了;也不代表你能拿到工作。
    我建议你思考一下,你要做什么,用哪些技术,为什么不用 XX 技术。在思考的过程中去了解、学习。
    wxlwsy
        14
    wxlwsy  
       2022-06-08 08:09:49 +08:00
    所有技术都有用武之地,你之所以不会是因为你没遇到过而已.
    既然知道这些就还可以抢救...先每个技术点了解一下,做到入门,动手实践一下吧,后面也就没什么难度了. 计算机领域没做过就是难如登天,实际做过一次就是一块垫脚石而已.
    HackerJax
        15
    HackerJax  
       2022-06-08 08:16:45 +08:00 via iPhone   ❤️ 7
    小公司很搞笑的,面试问 redis 、es ,进去了说这个费用比较贵,不让用😂
    snoopyhai
        16
    snoopyhai  
       2022-06-08 08:33:06 +08:00
    这是什么仇什么怨
    MoonWalker
        17
    MoonWalker  
       2022-06-08 08:38:07 +08:00
    那要看你对自己是个什么定位了,初级?期望初期的薪资区间,那 OK ,是面试者问太多了。
    否则的话,这些懂个一半也是于情于理的
    jay4497
        18
    jay4497  
       2022-06-08 08:39:14 +08:00
    真要硬用,一个博客就能 doge;
    wtysos11
        19
    wtysos11  
       2022-06-08 08:40:53 +08:00
    感觉很多分布式高并发的项目都能用到这些架构。我比较熟悉的是我们学校那个每到考试时都会崩溃的 OJ 系统,架构基本也是这样。
    Kontinue
        20
    Kontinue  
       2022-06-08 08:51:05 +08:00
    大公司是都用,但是你进去了不还是 CRUD ,这些基础设施早就给你搭好了,每一个中间件也都是有单独的团队运维的吧,但面试就得会,误解,八股文背起来
    blessyou
        21
    blessyou  
       2022-06-08 09:01:11 +08:00 via Android
    这些你自己随便搭一个简单的动态博客网站都能用起来
    musi
        22
    musi  
       2022-06-08 09:04:03 +08:00
    你是不是刚毕业?
    HeyWeGo
        23
    HeyWeGo  
       2022-06-08 09:07:20 +08:00   ❤️ 21
    你这个标题甚至让我第一次见识到,原来 v2 的标题在很长的时候会出现横向滚动条的!?
    licoycn
        24
    licoycn  
       2022-06-08 09:09:11 +08:00   ❤️ 2
    虽然网站 0pv ,但要百万级架构!
    DinnyXu
        25
    DinnyXu  
       2022-06-08 09:09:32 +08:00   ❤️ 2
    说实话这些东西并不是面试必须掌握的,面试官主要考擦的是你的一个深度和广度,你上面列举了那么多,但凡有一个你能深入了解的,刚好面试官又问到,那么恭喜你,你大概率是可以被录取的。至于广度,你对上面的众多技术需要有一个大概的了解,大概到什么程度呢? 自己搭个 demo 跑一跑程序就可以了,并不是所有公司你刚进入就让你接触到一些核心功能点。我觉得你是自身定位模糊,还有学习方向模糊
    arischow
        26
    arischow  
       2022-06-08 09:10:19 +08:00 via iPhone
    很多组分别维护很多项目的时候就有可能呀…

    这个公司不适合你,面下一家吧,调整心情
    abigeater
        27
    abigeater  
       2022-06-08 09:13:20 +08:00
    感觉现在这些一个项目内挺常用,但是不是属于自己的工作内容就不一定了
    dqzcwxb
        28
    dqzcwxb  
       2022-06-08 09:20:15 +08:00   ❤️ 1
    session+jwt 真有意思
    mosliu
        29
    mosliu  
       2022-06-08 09:25:06 +08:00
    大数据项目 基本上全都用到了
    用到的基础设施比这还多
    hadoop habse Cassandra zk spark mongo neo4j
    apollo/config eureka/consul gateway

    各种还可能加的技术就要看产品怎么变着花样拍脑袋了
    codeMore
        30
    codeMore  
       2022-06-08 09:40:19 +08:00
    一个用户量稍大的游戏账号支付系统(SDK)就可以用到
    用户热数据以及用户 token 存放 redis
    用户和三方渠道的 openid 映射等其他数据存放 mysql
    nginx 反向代理必不可少的,甚至还要加上 HA
    es 存放的是线上业务日志、格式化的 bi 或者 ga 数据
    线上部署模式可以采用 docker+k8s 模式部署
    账号和支付可以拆分为 2 个微服务,通过 rpc 进行调用(目前我们还没这么做)
    jwt 则是用户登录时拿来进行二次校验的。
    LeegoYih
        31
    LeegoYih  
       2022-06-08 09:45:13 +08:00
    写一个 IM 即可
    landers2015
        32
    landers2015  
       2022-06-08 10:04:12 +08:00
    老弟,再给补充一个,websocket
    masterclock
        33
    masterclock  
       2022-06-08 10:23:13 +08:00
    随便一个大点的项目这些都得用上
    MySQL? 可能还会有 PG ,有 HBase ,有图数据库
    mq 都可能好几种
    对外服务的部分就更乱了,客户提什么就上什么
    skinny
        34
    skinny  
       2022-06-08 10:25:24 +08:00
    很多系统的 jwt 用法就背弃初衷(比如给 jwt 加黑名单),这还不如一开始就用 Token 来管理会话。
    Envov
        35
    Envov  
       2022-06-08 10:26:05 +08:00
    这些不是基本操作吗...时髦这个词不合适吧
    KouShuiYu
        36
    KouShuiYu  
       2022-06-08 10:32:00 +08:00
    @HeyWeGo 我觉得不是个 feature ,需要加上 word-wrap: break-word;
    lmshl
        37
    lmshl  
       2022-06-08 11:01:39 +08:00
    我司项目,大约 20 多人开发规模
    mysql: 同事在用,我用 pg
    redis: 同事在用,我基本上内存里做缓存了
    nginx: 作为 k8s ingress 在用,前端也在用它做静态托管
    es: 推荐系统组在用,不懂这玩意儿
    mq: 听说过没用过
    docker + k8s: 这套是我搭建的
    rpc + protobuf: 在用,内部通信和对外接口都有暴露 grpc 端口
    session + cookie: 前端项目谁离得开它?
    jwt: 多好的签名算法


    除了上面的这些,我还在用
    cassandra
    knative(serving & eventing) + istio
    open telemetry
    grafana + prometheus
    kafka
    graph database
    其他想不起来了
    mango88
        38
    mango88  
       2022-06-08 11:01:56 +08:00
    支持多端登录的 IM
    Xusually
        39
    Xusually  
       2022-06-08 11:03:07 +08:00
    其实稍微大一些的项目就基本上全都用到了
    keepeye
        40
    keepeye  
       2022-06-08 11:06:15 +08:00
    你是面研发还是运维?
    Mexion
        41
    Mexion  
       2022-06-08 11:08:06 +08:00
    只要你想用,随便一个 web 项目都能用上所有的
    Martens
        42
    Martens  
       2022-06-08 11:10:26 +08:00
    还差一个 websocket /doge
    Martens
        43
    Martens  
       2022-06-08 11:13:54 +08:00
    @skinny #34 前几天刚遇到这个需求,离谱
    byasm32
        44
    byasm32  
       2022-06-08 11:33:20 +08:00
    都这么认真。。。op 真的不是来说段子的吗
    msaionyc
        45
    msaionyc  
       2022-06-08 11:47:29 +08:00
    “等我把这个项目做出来,再找工作就手到擒来了吧”

    并不是这样
    Junzhou
        46
    Junzhou  
       2022-06-08 12:13:12 +08:00
    mysql 在用
    redis 在用,单机集群都有
    nginx 在用,主要是反代和简单的负载均衡
    es 以前用,现在不用,后面会用
    mq 在用兔子,主要是一些异步场景,比如消息通知,投递
    docker 在用,测试环境的 mysql ,redis 之类的都通过 docker 部署,部分服务也通过 docker 部署,基本都是写好 docker-compose 往机器上丢
    k8s 没用过
    rpc 主要是用 fegin ,用于微服务之间的跨服务调用,同时还用注册中心和配置中心
    protobuf 没用过
    session 淘汰了
    cookie 部分会用
    jwt 在用
    libook
        47
    libook  
       2022-06-08 12:21:02 +08:00   ❤️ 1
    mysql ,就基本的业务数据库;
    redis ,可以试试做接口缓存,比如一个请求进入服务器需要查询各种数据再进行各种计算,但前端并不需要返回实时数据,那么你可以在一次计算完成后存入 redis ,并设置一个 TTL ,下次请求进来可以拿请求特征先去 redis 里查有没有缓存,有的话直接返回缓存数据,没有就让服务器算再存入缓存;
    nginx ,你搞前后端分离,以及微服务,然后把这些前端、后端都聚合到一个域名下,顺便可以做负载均衡;
    es ,你可以做个后台查询数据的功能,要求在一个具备 20 个字段、一千万条记录的表上,任意组合 1-20 个字段的查询条件都能在 300 毫秒内查到数据。
    mq ,做个高并发秒杀或抢课功能,异步返回结果。
    docker 、k8s ,搞几个虚拟机装 docker 和 k8s ,然后跑自己写的其他服务。
    rpc 、protobuf ,自己写的微服务之间使用 grpc 库进行通信。
    session 、cookie 、jwt ,这个找文章看看,了解一下原理以及对比一下特性就好了,现在主要使用 JWT ,对手机 APP 会比较友好一些。
    rapperx2
        48
    rapperx2  
       2022-06-08 13:14:53 +08:00
    这么急干啥,光 K8S 都够你学好久,光会使用不行,还要会灵活使用,遇到问题能快速解决。这些都是需要经验沉淀的。慢慢来
    wliansheng
        49
    wliansheng  
       2022-06-08 14:21:47 +08:00
    好像我们就全在用,笑死。
    lijiji
        50
    lijiji  
       2022-06-08 15:11:03 +08:00
    钩直饵咸
    66beta
        51
    66beta  
       2022-06-08 16:06:40 +08:00
    我司基本都在用,稍微大点的公司都会用到的
    qiyue0726
        52
    qiyue0726  
       2022-06-08 16:33:14 +08:00
    没有意义的,就算你会用了,面试也是问的原理底层,所以还是背八股文吧
    hailiang88
        53
    hailiang88  
       2022-06-08 16:36:07 +08:00
    面这些东西没啥意思
    个人觉的作为搬砖的,充分理解吃透需求,设计并编写出优雅的代码才是正事,很多项目或许用到这些工具,但业务代码都是 shit mountain
    mlhadoop
        54
    mlhadoop  
       2022-06-08 16:45:21 +08:00
    不是项目要这么多技术,是行业不景气
    qsnow6
        55
    qsnow6  
       2022-06-08 16:49:13 +08:00
    mysql 不应该换成 pgsql 吗
    cooper
        56
    cooper  
       2022-06-08 16:51:26 +08:00
    没有上微服务,除了 rpc 这里没用到,其他的应该还是很常用的吧。
    wxw752
        57
    wxw752  
       2022-06-08 17:04:10 +08:00
    都挺常用的
    提示一下:自己搓 netty 的时候可以配合 protobuf 编解码
    litguy
        58
    litguy  
       2022-06-08 17:15:17 +08:00
    分布式存储研发路过
    你这些一个点当前产品都没使用
    项目不小,几十人搞了 4 年了
    上家公司一个云服务产品用过里面的几个
    数据库 /NOSQL/K8S/RPC ,其实也就这些了,都是 C++ 撸代码
    我们的分布式缓存是自己造轮子的,没用过 redis
    http server 也是自己撸
    不要贪多,要精
    马上 50 的大叔路过
    ecloud
        59
    ecloud  
       2022-06-08 17:17:51 +08:00
    嘿嘿

    我以前给一个客户做 IVT ,用的产品有:DB2,WAS,Domino,MQ,CM,Filenet,Lucene ,以及另外 6-7 个你们听都没听说过的 IBM 软件,操作系统涵盖 AIX,Linux,WIN,zOS ,整个系统光搭起来就要 3-4 天,配置和灌数据又 2-3 天,加班连轴干一个星期运气好的话能够把测试环境准备好

    我觉得这客户一定是被 IBM 骗的很惨……
    encro
        60
    encro  
       2022-06-08 17:43:10 +08:00
    @ecloud

    2000 年左右这样的公司活的可滋润啦。
    ecloud
        61
    ecloud  
       2022-06-08 18:00:36 +08:00
    @encro 嗯,现在过得也还算说的过去,国际商用机器公司
    pkoukk
        62
    pkoukk  
       2022-06-08 18:04:31 +08:00
    你别说,我还真在一个项目里的都用过,大概有 20 多个微服务吧
    比你列的这个还多了 zookeeper 和 etcd 呢
    有啥特殊的呢?都有现成的库,单个学习成本不超过半天
    这些基础组件的安装配置调试都是运维干的活,我只管提申请单要机器,要到了代码里 new 一个 client 就能用了
    sampeng
        63
    sampeng  
       2022-06-08 18:14:28 +08:00
    说明你不会,被刷掉不是很正常的么。不然面试用来干什么的?不就是用来找合适的人吗?
    你反感这样面试的,我还反感简历上啥都写呢。动不动就列一堆,实际就是 api 战士。

    不会,就来反讽,感觉年级也不大,这个心态很容易出现:我没用过,我哪知道,我没用过我怎么可能知道真有项目要用这么多东西。这就死循环了。好歹要跳出来,我没用过,我去用一用,熟练与否先不说,好歹你真用了吧。不然面试聊啥?

    Hello World ?
    Suddoo
        64
    Suddoo  
       2022-06-08 18:25:14 +08:00 via iPhone   ❤️ 2
    么意义的,骚年,赶紧换一家面吧

    对方不缺人,看你不顺眼,可以找一百个理由刷你,并不是因为你不会那堆花式 crud 的东西(其实大部分也都是新瓶装旧酒)

    即使存在这样一个项目,把时下最时髦的技术都用上了,你确定所有代码都是你一个人写?正常公司里,每个人都只负责一个模块或者一个服务、大的公司分工更是细,还要依靠一堆大厂“自研”的基础设施,你确定这里面每一个细节都能说清楚?

    与其浪费时间和对面那货互相表演,不如早点找个真心招人的公司
    kaiki
        65
    kaiki  
       2022-06-08 18:30:01 +08:00
    第一次见到能在标题整出横向滚动条的帖子
    ihciah
        66
    ihciah  
       2022-06-08 19:18:23 +08:00 via iPhone
    楼主计算器做出来了记得给我们用用
    rsyjjsn
        67
    rsyjjsn  
       2022-06-08 21:08:45 +08:00   ❤️ 1
    做个健康码吧,我司最近刚完成健康码 1.0 到 2.0 的迭代,你说的都用到了,你没说的也用到了,高并发场景,什么集群 k8s ,啥都有,日活大概 500w 吧
    lcvs
        68
    lcvs  
       2022-06-08 21:21:57 +08:00
    @codeMore 看你描述的这架构,不会是 TY 的吧?🤔
    irisdev
        69
    irisdev  
       2022-06-08 21:45:13 +08:00
    mq 是什么
    AmosAlbert
        70
    AmosAlbert  
       2022-06-08 23:12:52 +08:00   ❤️ 1
    @irisdev 消息队列
    Huelse
        71
    Huelse  
       2022-06-09 00:33:55 +08:00   ❤️ 1
    @HeyWeGo #23 同惊讶,自定义 css 加个`word-break: break-all;`就正常了,或者站长全局改下?@livid
    Livid
        72
    Livid  
    MOD
       2022-06-09 01:59:04 +08:00
    @Huelse 收到。谢谢。
    Livid
        73
    Livid  
    MOD
       2022-06-09 04:34:46 +08:00
    @Huelse
    @HeyWeGo

    谢谢。h1 上现在加上了 line-break: anywhere
    roseduan
        74
    roseduan  
       2022-06-09 08:25:42 +08:00
    用上了又有什么意义呢,到公司还是 CRUD ,架子都是别人搭好了。
    与其折腾这么多,还不如深究一个。
    echoZero
        75
    echoZero  
       2022-06-09 09:19:15 +08:00
    庆幸吧 不是八股文
    keeguai
        76
    keeguai  
       2022-06-09 09:47:50 +08:00
    没必要,重点是你要对每个技术的适应业务场景有所了解,知道什么情况下用什么技术来解决问题。
    比如削峰填谷,我用 redis 队列一样可以做,那什么情况下用 mq ,什么情况下用 redis ,你得能说上来。
    在比如你说的 es ,es 和 MongoDB 有什么区别?各自适应哪些业务?哪些情况下可以用时序数据库代替?
    hearfish
        77
    hearfish  
       2022-06-09 09:58:42 +08:00 via iPhone
    @litguy 握手,分布式数据库研发路过,用到的第三方服务也就多一个 S3 ,别的都是自己造轮子
    mengdodo
        78
    mengdodo  
       2022-06-09 10:07:16 +08:00   ❤️ 1
    @irisdev RabbitMQ
    astkaasa
        79
    astkaasa  
       2022-06-09 15:07:11 +08:00
    什么项目都可以
    cenbiq
        80
    cenbiq  
       2022-06-09 16:18:30 +08:00 via iPhone
    电商项目,我上家就是用这一堆,保你想不用都做不到
    cenbiq
        81
    cenbiq  
       2022-06-09 16:19:18 +08:00 via iPhone
    只要是分布式、高可用都得上这一套
    codeMore
        82
    codeMore  
       2022-06-09 23:07:55 +08:00
    @lcvs 我超,看来说话还是得小心点啊
    lcvs
        83
    lcvs  
       2022-06-11 14:54:14 +08:00
    @codeMore 哈哈哈,自己人,不要慌🌝
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3400 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 11:34 · PVG 19:34 · LAX 04:34 · JFK 07:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.