我是3y,一年CRUD经验用十年的markdown程序员‍常年被誉为职业八股文选手

开源项目消息推送平台austin仓库地址:

消息推送平台推送下发【邮件】【短信】【微信服务号】【微信小程序】【企业微信】【钉钉】等消息类型

今天来跟想聊下大家很关注的一个问题:「搞完Austin消息推送平台要花多长时间?

这个问题我被很多股东问过,大多数都是想要将Austin消息推送平台写进简历上,想要知道在秋招前能不能给整明白,整出来。

我在Austin的群也看过有个小伙连续好几天在群里问,想知道搞完要多久,这个系统难不难,适不适合在校的。

说白了,就是想要在心里有个底。这种问题很正常,我在正式工作前也想知道要达到实习/工作需要什么技能。

不过,我给不了具体的时间,这对我来说挺难的。因为每个人的学习时间、所掌握的基础是不同的。像我在大学的时候,我早上8点去图书馆,晚上9点从图书馆回宿舍,我也不知道你是不是跟我一样的。

还有就是可能你就刚刚整完SpringBoot,还没有做过任何项目,对很多技术都还没理解好。这样即便我文档很全了,但对于这部分同学来说,门槛还是相对较高。

而如果你已经有过Redis/Kafka 这种基础了,只是Flink/xxl-job这种中间件没怎么用过,可能知道它们是干啥的,但不知道原理。那在这种条件下,上手项目的门槛又相对较低点。

也有在滴滴的、腾讯的工作几年了,把README文档刷一遍,就能直接去看代码的整个流程了。虽然会对细节有很多疏漏,但毕竟架构的见识和工作经验摆在那,上手会快很多。

它适不适合在校生?肯定是适合的。它不像商城系统要熟悉业务细节,有各种的商品信息。它不像广告系统要了解各种的专业名词才能看懂业务,广告系统有各种专业名词CPT/CPS/CPC/CPM/ROI/CVR...

Austin消息推送平台核心功能是很好理解的,就是推送各种渠道的消息。而推送消息为什么能是一个平台,只是我们围绕着核心功能的基础上加多了很多基础建设,它的存在不再是一个小功能,所以它就是一个消息推送平台。

每个公司几乎都会有发送消息的需求,也几乎都会有类似的封装。Austin消息推送平台的架构和解决方案是通用的,跟别的公司相比只在于这个推送系统它的规模以及所提供的平台能力差异性。

搞完Austin消息推送平台要花多长时间?

以我为例吧,我当时接手消息推送平台到熟悉它大概花了两个多月时间,一方面我当时刚实习,技术确实也就那样,在生产环境没用过JSON,没用过MQ,没用过Redis。另一方面,文档确实没有像我现在的那么齐全,生产环境下的代码经过了几代同事的迭代,代码风格差异也挺大的。

不过这两个多月不意味着我对这个系统就了如指掌了,我只是掌握了整个推送消息的流程,很多发送渠道的细节还是不懂的。

比如以前的小程序消息推送需要有下发凭证(formId)才能对消息下发,这是我后来对小程序消息迭代的时候才知道的。比如对于push通知栏消息它的链路十分长,我们做了一整套打点体系,但由于迭代和交接的问题,这个链路也是后面才慢慢摸索出来哪些是关键的位置...比如对于短信计费原来是要把发送凭证+手机号才能产生唯一的key,不然统计就会乱掉了...

话又说回来,如果把消息推送平台写在简历上去面试。以我的经验,面试官并不在意某个渠道的消息下发细节(除非他也是搞消息推送的),更多的关注是系统的架构和整体的流程,就没遇到过需要针对某个消息渠道做过多解释的。

经过我的迭代,现在Austin消息推送强依赖MySQL/RedisKafka。对于MySQLRedis来说,差不多是每个项目的标配了,而Kafka后续我可能会考虑抽象出来由你们自己适配对应的MQ实现,MQ在这个场景下还是有必要的。

在面试前更多的是准备MySQL/RedisMQ这几块技术栈,理论上中间件在公司都有专门的人负责,但这几个确实我们在日常开发中用得非常多,建议多去看看原理和源码。

像分布式配置中心、分布式定时任务、分布式计算引擎、分布式日志框架、监控告警框架这种你们要是对哪个熟悉的,就写上自己熟悉的框架。如果不熟悉的,面试的时候简单提一嘴流程就好了(建议去看看这些框架的设计思想)。

最后不负责下个结论吧:

1、如果你曾经做过些小的项目,了解MySQL/RedisMQ的使用,大概三周到1个月+时间能对项目有所了解

2、如果你没做过小项目,只是刚学完SpringBoot起码2个月+时间能对项目有所了解

3、如果你已经了解过各种的中间件(分布式配置中心、分布式计算引擎),在工作中也并不完全是后台的CRUD。相信我,你那时候就不会问要多久才能搞完这个消息推送平台。

很多时候我们做一件事之前都是充满着未知,但如果未知的成本不高的话,建议先行动起来!一直犹豫不行动,相当于什么都没做。

推荐项目

如果想学Java项目的,我还是强烈推荐我的开源项目消息推送平台Austin,可以用作毕业设计,可以用作校招,可以看看生产环境是怎么推送消息的。

开源项目消息推送平台austin仓库地址:

消息推送平台推送下发【邮件】【短信】【微信服务号】【微信小程序】【企业微信】【钉钉】等消息类型

Git 仓库7K stars!学Java开源项目austin要多久?的更多相关文章

  1. 【我整理的java开源项目】

    摘要: 1. 整理出一些使用比较广或者个人觉得比较好的java开源项目和资料供参考. 2. 如果你觉得好但是我没有列出的开源项目请告诉我,方便我添加到列表里. 3. 如果你发现信息描述有误请联系我,我 ...

  2. 3月份GitHub上最热门的Java开源项目

    今天,我们来盘点3月份GitHub上最热门的Java项目的时候了,如果你每月都有关注猿妹发布的排行榜,那么本月的Java项目对你来说一定不陌生,这些都是曾经多次出现在榜单中的项目: 1 advance ...

  3. 硬核! Github上 ,star超高的Java 开源项目分享给你!

    Awsome JavaGreat Java project on Github(Github 上非常棒的 Java 开源项目). English Version 大家都知道 Github 是一个程序员 ...

  4. 网上下载的 java开源项目 如何 打jar包

    目前很多java开源项目(例如qlexpress)只提供了源码,没有提供jar,下面提供maven打jar包的方法. 1.进入qlexpress下载后源代码所在的目录,此目录应包含pom.xml,如下 ...

  5. 用Java开源项目JOONE实现人工智能编程

    http://www.robotsky.com/ZhiN/MoS/2011-08-25/13142461416649.html 用Java开源项目JOONE实现人工智能编程 https://sourc ...

  6. 硬核! 逛了4年Github ,一口气把我收藏的 Java 开源项目分享给你!

    Awsome Java Great Java project on Github(Github 上非常棒的 Java 开源项目). English Version 大家都知道 Github 是一个程序 ...

  7. 阿里巴巴的26款Java开源项目

    阿里巴巴的26款Java开源项目 开源展示了人类共同协作,成果分享的魅力.没有任何一家网络公司可以不使用开源技术,仅靠自身技术发展起来.“取之于开源,用之于开源,才能促进开源的良性发展”,阿里巴巴各个 ...

  8. java开源项目

    原文地址:http://blog.longjiazuo.com/archives/2625 1.整理出一些使用比较广或者个人觉得比较好的java开源项目和资料供参考.2.如果你觉得好但是我没有列出的开 ...

  9. 我的第一个 60 k+ Star Java开源项目

    JavaGuide([Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识):https://github.com/Snailclimb/JavaGuide. 人生总有各种各样的 ...

  10. 不想加班开发管理后台了,试试这个 Java 开源项目吧!

    本文适合有 Java 基础并了解 SpringBoot 框架的同学 本文作者:HelloGitHub-嘉文 这里是 HelloGitHub 推出的<讲解开源项目>系列,今天给大家带来一款开 ...

随机推荐

  1. VMware 15pro虚拟机网络设置

    在关闭虚拟机的情况下:VM 15pro. 编辑->虚拟网络编辑器:

  2. python 处理CAD文件

    注意:如下的两个脚本都是我自己亲自试过的,可以运行得到结果!可以直接运行!可以直接运行! 网上的中文api能找到的不够全,工作中有用到部分功能,自己从中文英文资料里面找到一些,这里做一些总结. 画图a ...

  3. VS(Visual Studio)如何修改注释的快捷键(换成Ctrl+/)

    原文:https://blog.csdn.net/qq_51485453/article/details/123214455 1.点击"工具">"选项" ...

  4. 开始学习Linux

    1.路径:    绝对路径: 从根目录开始描述;    相对路径: 从当前位置开始描述的路径;    . 当前目录    .. 上级目录    ~/ <===> /home/acs 家目录 ...

  5. docker 中搭建 mysql pxc 集群

      一.docker中创建pxc 容器 1.拉取PXC 镜像 pull docker pull percona/percona-xtradb-cluster:5.7.21 2.更改镜像名称为pxc t ...

  6. snorkel SentenceNgramViewer 标记时出现 Integrity Error

    Snorkel使用SQLAlchemy作为数据管理工具,在本地会生成一个.db文件,现有操作与.db文件中已有的记录重复,违反了数据库主键不能重复的性质 解决方式: You can load a la ...

  7. bootstrapTable insertRow 新增行保留原数据

    思路:保留原数据,然后新增行. var optionsxx = {//省略xxx: columns: [{ checkbox: true}, { field: 'id', title: '主键', c ...

  8. 解决LayUI中的 laydate 点击一闪而过问题

    加一个:trigger: 'click' <input name="apbegin" id="apbegin" class="layui-inp ...

  9. 使用DockerCompose部署微服务项目(基于Springboot搭建一个简易计数器)

    准备Dockerfile FROM java:8 #基于jdk8的环境 COPY *.jar /app.jar #拷贝所有的jar包到/app.jar目录下 CMD ["--server.p ...

  10. 微信小程序:流程/步骤流/时间轴自定义组件

    效果图: 1.首先在小程序components目录下新建一个名为step的文件夹,再建step组件名.结构如下. 直接上代码 step.wxml <view class="step&q ...