
【智能一代云平台】
当年的春天
目前就职于阿里巴巴,六年大型互联网后端(Java)研发经验,坐标北京;擅长微服务和中间件。
展开
-
智能一代云平台(二):一些事儿!
【前言】 细细数来从去年到现在自己先后历经三次,也算和该活动有了一年半的交情了吧!大家都知道我是一个多愁善感并且怀旧的人(一般多愁善感的人都比较怀旧吧)!总想写点东西记录一下。【监考之路】 一、第一次: 1、职务:小喽啰! 2、感想:那时自己还是个懵懂的少年,完全把这当成一种工作来干!不过也有一个感...原创 2015-06-20 21:06:27 · 18975 阅读 · 10 评论 -
Keepalived+Nginx实现高可用,反向代理---模拟实现线上环境
【前言】 在对Keepalived+Nginx进行了研究后,将这项技术推广上线,并配合运维进行网站搭建起来。经过一段时间的运行线上环境运行已经稳定,不过自己还需要进行更加深入的研究;那么如何模拟线上环境做相应的实验那?自己又在本机搭建一个仿真环境,以此来做些相关实验,如果实验成功再部署到测试环境经过测试验证没问题后将其应用到线上环境。【实现过程】 ...原创 2017-04-08 09:53:41 · 17097 阅读 · 17 评论 -
智能一代云平台(十二):轮次设置
【前言】 基础系统是云平台中十分重要的一个子系统,它为其他系统提供了基础数据的支撑;基础系统中有一个重要的功能就是轮次管理;轮次是配置课程管理的一个基础数据,不同学年不同学院的不同课程轮次都可能不同;今天为大家介绍一下关于轮次设置的相关功能及实现。【轮次设置】 一、在编辑轮次时比较重要的几个逻辑校验: 1、编...原创 2017-02-18 23:02:38 · 18855 阅读 · 17 评论 -
Eclipse启动项目报启动上下文失败问题解决方案总结
【前言】 最近用Eclipse中启动项目的时候经常会报一个奇怪的问题,之前也遇到过,经过清理一下Jboos的发布文件就可以解决,但是这次不行;也了解到项目组的部分其他同事也遇到相同的问题也备受它的折磨。 于是乎对它进行了相关的实验最终确定问题的根源,在此与大家分享这个过程。【钻研之路】 一、问题缘起: 1、之前有同事遇到这个问题,我们在一起...原创 2017-02-09 15:41:59 · 22894 阅读 · 21 评论 -
Linux上安装集群版Redis
【前言】 之前自己在Windows中玩过一段时间Redis(感兴趣的朋友可以看下-Redis系列博客),这次在项目中也有幸能负责起Redis,也由于前两天服务器硬盘损坏导致开发的Redis服务器重新装系统,自己有幸能重新装一遍集群版的Redis,在这个过程中还是遇到些小麻烦,在此总结一下,希望对各位读者有所帮助。【跌宕起伏安装流程】 一、说明:...原创 2017-03-03 09:55:48 · 19964 阅读 · 49 评论 -
智能一代云平台(九):EclipseLink返回Object转为实体的分析
【前言】 在ORM框架上我们项目采用的框架是EclipseLink;在使用EclipseLink中遇到一个问题,在底层封装往上返回的时候将Object类型映射成Map,而上层需要实体这样会出问题;下面为大家分享一下针对这个问题我做的一个实验;【分析过程】 一、思考过程: 1、底层用的EclipseLink,Object经过映...原创 2017-01-13 19:43:55 · 17390 阅读 · 21 评论 -
智能一代云平台(十):Jboss远程访问流程总结
【前言】最近在做一个EJB相关的项目,在做的过程用到了远程调用的相关东西,自己进行一下梳理和总结,在此与大家分享。【相关流程】 一、对EJB和Jboss两者梳理: 1、小感:大多数情况下,提到两者中的一者,就会提起另一者;刚开始的时候自己也是对这两个东西比较混淆,最近在项目中用出了些问题,自己查找资料将其梳理一下,原来一些模糊的地方逐渐清晰起来...原创 2017-02-05 18:47:18 · 19148 阅读 · 56 评论 -
智能一代云平台(二十三):Mycat高可用的探索
【前言】 在智能云平台的上篇博文 《智能云平台(二十二):多租户方案比较Hibernate、EclipseLink、Mybatis+Mycat》中讲解了实现多租户的一种方案是用MySql的中间件来实现;今天为大家分享一下MySQL中间件(在此以MyCat)高可用的方案;【探索之路】 一、云平台建库后Mycat识别的问题 ...原创 2017-05-26 19:35:49 · 18593 阅读 · 20 评论 -
智能一代云平台(十九):选修课---类似秒杀的高并发业务
【前言】 选课,考试,评教这三个功能是我们的云平台中的重头戏;并发高是这三个功能的一个共同特点,在解决的过程中充满挑战,当然含金量也会高很多;今天就和大家一块儿分享一下我们针对高并发的业务的一些实践和解决思路。【如何做好一个秒杀系统】 一、我们系统中遇到问题 1、基础系统的公共选修课出现的问题: ...原创 2017-03-30 17:35:47 · 18167 阅读 · 20 评论 -
智能一代云平台(二十四):已安装的Nginx上安装echo插件
【前言】 Nginx已然成为行业中最火的反向代理服务器,Nginx成名于两方面:一是其优越的性能;二是其丰富的插件库;今天为大家分享是Nginx强大的echo插件;题。【具体的实验】 一、echo插件是干什么用的? echo插件使得Nginx具有了可调试特性,可调试对于程序员来说是个天大的福音,将我们从一筹莫展的深坑中救出来...原创 2017-05-31 22:27:54 · 19747 阅读 · 6 评论 -
Keepalived+Nginx实现高可用,反向代理---Keepalived安装及相关配置
【前言】 在博文《智能一代云平台(十五):Keepalived+Nginx实现高可用,反向代理---Nginx安装及配置》中介绍了Nginx的安装及相关配置的信息,由于篇幅原因不能用一篇博文描述完,这篇接着为大家分享其中的一个非常重要的模块Keepalived的安装及相关配置。【研究之路】 一、郑重声明 本篇博文的前导博文为《智能...原创 2017-03-17 21:55:44 · 20574 阅读 · 15 评论 -
智能一代云平台(四十二):关于异常的一些事
【前言】 由于实际环境的复杂多变,再牛的程序员也无法保障自己的程序永远不出异常,如何处理好异常也是程序员必修的技能;异常不仅保障了系统的健壮性,而且记录起来有助于我们知道线上环境发生了什么。【漫谈异常】 一、异常和事务的一些相关东西 1.我们开发框架是使用的SSM;其中Spring的事务是通过AOP来实现的; ...原创 2017-08-12 09:05:16 · 20639 阅读 · 11 评论 -
智能一代云平台(三十七):Java技术栈
【前言】 最近整理一下自己过去在项目中实践和扩展的一些java技术栈;一是回顾总结一下过去自己用到的技术,二是激励自己在不断的丰富自己的知识体系;大家不妨参考一下,或许对大家有帮助。【我的Java技术栈】 1.我所用过的Java技术栈,来一张导图: 2.参考的一些资料: 史上最全的架构师图...原创 2017-07-22 19:32:36 · 20013 阅读 · 22 评论 -
智能一代云平台(四十):Maven项目如何将lib下依赖的包打印在manifest文件中
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 今天突然发现在Pom文件中进行相关的设置,可以将自己所依赖的jar包在Manifest文件中展示出来;感觉挺有趣,就自己实验了一把。【有趣的实验】 1、进行相关的实验,在Pom文件中plugins--->plugin--->co...原创 2017-07-30 09:05:44 · 20041 阅读 · 35 评论 -
智能一代云平台(三十四):后端架构一些总结
【前言】 在重构系统之前对架构及重要技术点进行了一些研究并应用到项目中;不过在重构的时候又陆陆续续发现些需要改进的地方;最近一段时间在改进后端框架;在此与大家分享一下在这个过程中所作一些事情和自己的一些思考。【一些优化】 1、包的命名到服务还是模块:在开发过程中规范也是十分重要,好的规范不仅利于开发,而且利于以后的维护会大大减小开发成本;我们的系统由七个服...原创 2017-07-04 23:26:49 · 17803 阅读 · 19 评论 -
智能一代云平台(三十一):mybatis加入分页
【前言】 在《智能一代云平台(三十):逆向工程生成mybatis》已经将mybatis的逆向工程搞定了;但是美中不足的是mybatis的分页查询;接下来一起来探索一下分页查询。【分页查询】 1、查阅一些资料,发现有两种方式可以实现分页查询:(1)mybatis逆向工程中自带的example;(2)pagehelper; 2、选择page...原创 2017-06-29 16:38:27 · 16914 阅读 · 20 评论 -
智能一代云平台(三十):逆向工程生成mybatis
【前言】 最近在研究mybatis逆向工程的一些东西;通过研究Mybatis+通用mapper、逆向工程生成mybatis、Hibernate+mybatis;最终综合这些优点实现了一个我们自己的逆向工程;【一些对比】 一、《智能一代云平台(二十九):通用mapper的改造》为大家分享了对通用mapper的一些研究;说一下自己在研究过程中对他们的有缺点的总结:...原创 2017-06-25 21:27:45 · 17145 阅读 · 23 评论 -
智能一代云平台(二十九):通用mapper的改造
【前言】 最近研究一下Mybatis的通用mapper,然后对其进行了一些改造以适合我们的系统,接下来为大家分享一下我的研究思路以及研究成果。【研究之路】 一、ORM框架选型: 1、我们最近对我们的项目进行重构,关于ORM框架的选型进行了相关调研(入选我们候选之列有ORM经典框架:Hibernate和Mybatis) ...原创 2017-06-17 23:09:36 · 20123 阅读 · 18 评论 -
智能一代云平台(二十二):多租户方案比较Hibernate、EclipseLink、Mybatis+Mycat
【前言】 我们做的高校云平台中需要用多租户这种技术,目录了解到的有三种技术可以实现:符合JPA规范的Hibernate和EclipseLink以及Mybatis+Mycat;我们的上一版本的系统用的是EclipseLink实现的,这版需要重新对比一下,选定一个,于是花了些时间来做了些验证【三种实现方式】 一、什么是多租户 1、多租户的实现根据在数...原创 2017-05-11 21:45:40 · 26180 阅读 · 16 评论 -
梳理项目的pom文件
【前言】 Maven是一款十分棒的项目管理工具;毫无疑问pom文件是Maven项目中的命脉,管理着各个jar包之间相互依赖关系; 最近将项目中的pom文件重新梳理了一遍,发现pom文件如果乱了,后续会有无数个头疼的坑;接下来就为大家分享一下这次的pom梳理流程,从而避免给以后留坑。【精彩整理旅程】 一、整理前项目中暴露出问题 ...原创 2017-06-29 17:43:20 · 17764 阅读 · 23 评论 -
智能一代云平台(一):一些思考
前言:一场轰轰烈烈的历时半个月的核对数据,导数据以及评教活动已然接近尾声。每次活动过后,都应该思考这次活动中的得失,这样才能成长。 一.出现问题及原因: 1. 问题:教育学院整个班级缺专业课。 原因:自己粗心在导数据时有所遗漏。 2. 问题:课程和教师姓名不对应。 原因:秘书核对数据时出现差错。 ...原创 2015-01-08 19:14:54 · 18270 阅读 · 47 评论 -
智能一代云平台(三):15年上半年维护总结
一、背景: 五月中旬,由大洲为大Boss建立起一支维护的队伍。其实之前大洲就询问我这次活动多吗?自己不多,大洲说一块儿弄系统,正好我对服务器了解稍微多点。我当时一口答应,并担保一定给弄好。 六月底就开始考试,时间只有一个多月,虽然是维护但是,还有老人改进的代码,我们还需核对数据、配置试卷、组织测试、核对人、、、、、 开始时由于自己只顾忙自己的事情,没有看下...原创 2015-07-05 21:31:57 · 18548 阅读 · 18 评论 -
智能一代云平台(四):15年上半年维护过程中精彩小插曲
一、背景:从六月三十日到七月八日进行了一场轰轰烈烈的网考!规模:平均每天五场活动;平均每场参加活动人数:800人。当然在这期间出现许许多多的精彩小插曲,愿在此与诸君共享。二、频繁报cookie弹出框:由于考生都在同一时刻抽英语听力,导致网络流量太大,导致暂时网络堵塞!因此数据不能...原创 2015-07-16 16:13:51 · 19617 阅读 · 26 评论 -
智能一代云平台(五):移动开发之环境搭建
【前言】 谣传最近IT领域异常火热,而IT中的移动端领域更是如日中天。 做为一名程序猿的我,也不甘Out;于是雄心勃勃参加一个智能一代云平台移动端项目开发;之前有人做了第一版,现在我们需要重构。【基本情况】 1、本次开发用到相关东西:技术选型——Hybrid_APP;...原创 2016-04-24 17:28:45 · 22814 阅读 · 66 评论 -
智能一代云平台(六):移动开发之Ionic研究
【前言】 Hybird_App项目开始之初负责人就给定了三个技术点的研究然后与大家伙儿分享,其中之一就是Ionic;当时兴致勃勃的报了名要研究它!项目正如火如荼的进行着,自己对它也进行了研究。下面将自己研究的一些东西给大家分享一下。【内容】 宏观图: 阐述: ·四模式: 目前为止开发APP是这四...原创 2016-05-21 07:58:26 · 20976 阅读 · 22 评论 -
选课中应用Redis一些思考
【前言】 唯妍最近在研究Redis并且想把Redis加在选课这块儿,正好自己最近在项目中应用了Redis并且之前在家的时候接触过选课这块儿的内容;所以我们针对这块儿的实现进行了几次探讨,以下是唯妍在实现过程中遇到问题我们根据问题进行探讨一些精彩地方的整理。【愉快的交流】 一、几点简单说明: 1、选课功能简介:选课的指定在某一段时间内有很多学生...原创 2016-09-15 22:24:18 · 17597 阅读 · 41 评论 -
智能一代云平台(八):代码依赖分析系统
【前言】 最近刚接手维护一个老并大的项目,项目目前功能基本完成;我们的目标是将其打造成为一款稳定云产品平台,当然功能实现远远不够,还需要相应的优化;说到优化不得不提是对系统的代码分析,代码分析不仅可以指导开发如何改造代码,而且可以监测改造的成果。【研究之路】一、基本情况: 1、需分析项目情况: 项目比较大,...原创 2017-01-08 12:45:18 · 16984 阅读 · 24 评论 -
智能一代云平台(四十一):在docker中部署项目Dubbo上识别为私有地址问题
【前言】 最近项目在进行联调,在联调的时候遇到一个问题,我们的项目分为七个服务,服务之间有些是存在依赖关系的,比如大部分服务都依赖权限等等;在联调的时候遇到一个问题,在此记录一下。【遇到问题】 在服务治理这部分我们项目采用的是Dubbo+zk;另外在集成部署的时候我们也首次采用docker来进行部署;在联调的时候遇到一个问题——docker内部地址...原创 2017-08-05 15:19:06 · 21145 阅读 · 9 评论 -
智能一代云平台(三十九):不同服务之间数据调用的一些思考
【前言】 我们采用的是Dubbo框架,服务之间的调用是通过dubbo来管理;在开发业务的时候针对于服务间的调用产生了些疑惑;自己查找一些资料并进行思考与比较;【不同服务之间】 1.不同服务之间组装数据需要通过A服务的Service去调用B服务的Facade然后在A服务的Service去完成组装数据; 2.大部分情况是按照步骤1走是没有...原创 2017-07-22 20:51:10 · 19363 阅读 · 27 评论 -
智能一代云平台(三十八):单元测试推动开发,如何避免服务之间依赖拖了工期
【前言】 在开发过程中,会涉及到调用别人的服务,这时候由于别的服务的工期确实排的比较紧张,自己需要等,下面我们采用了写mock数据的方式来有效的避免了这种情况,提高开发速度。【如何提高速度】 一、针对服务间调用需要等对方开发而导致工期拖问题,下面给大家分享一下我们是如何解决该问题的 1.首先自己想要的接口,对方会写在对方的A...原创 2017-07-22 19:42:01 · 18935 阅读 · 27 评论 -
智能一代云平台(三十六):项目中如何做到避免传递依赖
【前言】 现在Maven项目风靡全球,不可否认的是Maven在解决项目依赖关系十分的给力;不过传递依赖也会有很多坑;接下来给大家分享一下我们项目中是如何解决传递依赖。【传递依赖中哪些事儿】 一、传递依赖 1、什么是传递依赖 比如有Maven项目A,项目B依赖项目A,项目C依赖项目...原创 2017-07-16 15:17:14 · 19190 阅读 · 24 评论 -
智能一代云平台(三十五):后端架构再思考
【前言】 针对现在开发用的框架(SSM+Dubbo),自己进行了一些思考;这些问题应该是当系统在大流量,高并发,分布式情况下需要考虑一些问题,自己在对服务拆分的时候一些思考的记录下来,与大家共享;【一些思考】 一、服务调用 1、服务之间调用的关系是否清晰合理? 这是考量一个系统拆分的...原创 2017-07-10 12:08:13 · 19276 阅读 · 27 评论 -
对前后端分离和FastDFS的使用的再理解
【前言】 最近我们上线一个新功能,在进行部署的时候出了个奇葩的问题,在解决这个问题的时候对前后端分离和FastDFS的认识又加深了许多。【背景—问题&解决—小结】背景 1.上线功能是完全的前后端分离 (1)前端:AngularJS2 (2)后端:SSM(SpringMVC+Spring+MyBatis) 2.图片管...原创 2017-06-09 17:13:52 · 23515 阅读 · 72 评论 -
智能一代云平台(二十一):生产环境Nginx报 502 Bad Gateway 问题复现及解决方案
【前言】 系统最近出现了一个问题,经过相应的排查解决了;在此记录一下解决的整个过程,如果大家遇到类似问题以供参考,另外由于经验有限,如果小编有没有考虑到地方,欢迎在评论中留言。【问题—复现—原因—解决】 一、问题 我们项目线上环境是部署在阿里云上,相关的部署情况是之前博文《高校云平台(十五):Keepalived+Nginx实现高可用,反向代理---Nginx...原创 2017-04-30 10:08:01 · 29661 阅读 · 35 评论 -
智能一代云平台(十六):解决Linux服务器被植入木马总结
【前言】 继上次Redis服务器被劫持风暴(高校云平台(十三):Redis服务器被劫持风波)过后十多天后,病毒对我们总是恋恋不舍,又一次的来到我们身边;有了上次的经验后,这次处理起来虽然也有些波折,但是相对来说迅速很多;下面是这次解决的整体流程,希望会对读者有所启发。【跌宕起伏研究之路】 一、发现病毒: 1、被通知: 201...原创 2017-03-12 19:32:43 · 20687 阅读 · 21 评论 -
Keepalived+Nginx实现高可用,反向代理---Nginx安装及配置
【前言】 项目中总有些研究性的工作来做,记得一年多之前也是在研究Nginx,当时也是苦战了一周左右;时隔一年对它的理解又加深了许多,不过也下了些功夫将它又进行了深入的研究 虽然网上已经有很多文章在写,并且这种技术已经很成熟,不过根据具体的业务场景应用不同以及自己研究的时候还是踩了许多的坑;还是有写出来一是整理一下自己最近的实验,二是或许会对读者有些帮助。【研究之路】...原创 2017-03-12 08:23:41 · 21549 阅读 · 46 评论 -
智能一代云平台(三十三):log4j日志研究
【前言】 日志对于一个系统的来说是必不可少,它可以让人们知道,系统当前运行的状况;最近对日志进行了一些实践,以下是自己在这个过程中收获的一些东西。【一些有趣的实验】 一、mybatis设置日志级别打印SQL语句***log4j.rootLogger=debug,stdout,logfilelog4j.appender.stdout=org.ap...原创 2017-06-29 17:45:14 · 17681 阅读 · 27 评论 -
智能一代云平台(四十三):技术选型
【前言】 最近在整理智能一代云平台的相关资料,发现一年前我们进行三周的技术选型的讨论以及最终方案的确认;自己有幸能从头到尾全程参与,对个人的技术体系有很大影响;在此整理一下;【技术研究及方案确认】 一、研究技术体系: Dubbo、SpringCloud、EJB 二、技术调研: ...原创 2018-07-28 17:05:13 · 18764 阅读 · 3 评论