微服务
孤独的投机家
孤独的投机家,公众号同名,意味像寻找美食一样寻找市场的龙头。业余是一名互联网公司的后台Java开发,擅长架构,喜欢阅读新领域的开发知识,也喜欢金融方面的独特见解,同样擅长证券市场投机,主业是内容输出,有孤独的投机家知识星球,欢迎加入。
展开
-
孤独送书啦~本期送出《springboot实战》
孤独送书活动啦~本次送出汪云飞的 springboot实战一书。关注孤独的投机家即可参与,在公众号留言或者从菜单栏选择孤独抽奖跳转。原创 2020-05-28 17:00:18 · 115 阅读 · 0 评论 -
beanNameAware,applicationContextAware,DisposeableBean在项目中的使用
前言今天在项目中使用了研发部对spring框架的扩展的应用,比如,实现消息队列功能的springEven,springListener,以及对上下文的扩展,实现了spring的applicationContextAware,而本节就是根据项目的扩展,综合的分析bean的生命周期,在这里,介绍项目里是先定义了一个service的抽象层,实现了抽象接口baseService层,这个base层实现了自...原创 2019-01-21 21:04:50 · 765 阅读 · 0 评论 -
springboot 构建项目2 图文并茂 带有源码
回顾上一节提到的调用链的情况,其实本地搭建的项目起到的只是数据的搬运作用,并且没有对请求做了高并发的,以及减少对外部服务依赖的作用,所以这就类似于,springcloud里面的单独的微服务,通过feign或者其他的RPC来实现对服务的调用,这里先从redis的依赖开始说起同样的把项目需要的gradle的包引用进来从gradle配置文件引入配置所有的逻辑都在service层处...原创 2018-12-28 22:40:28 · 196 阅读 · 0 评论 -
springboot开始构建项目 附带截图 源码
前言这个springboot项目的是从社区的分享获取得到的,简单干练,适合学习,笔者主要是想了解,从springboot转到高可用的springcloud的过渡过程,学习如何拆分模块,如何根据前端的响应的字段来拆分VO,设计DTO等等。这个项目用到第三方的免费的接口如果希望通过gradle来搭建简单快捷的配置信息,可以通过百度搜maven 依赖的jar名 然后官网会提供。开始...原创 2018-12-28 22:01:55 · 311 阅读 · 0 评论 -
人工智能 人脸识别 解决人脸重复入库中bug的思路
从原来的代码的判断来看,如果一个人脸识别的信息出现异常就会抛出,但是如果在异常前有消息已经发送的情况,这时候就需要从新处理逻辑1.需要单独的对服务的结果分析,整个数组返回的结果为导向,在这里对返回的对象做处理2.对应的消费端的接收的结果进行处理,这里需要对json的序列化进行处理3.接收的数据转换最后遍历的set数据到redis中。...原创 2018-12-17 23:11:43 · 2540 阅读 · 0 评论 -
人工智能 人脸识别 springcloud redis rabbitMQ
这一节就是把之前提到的rabbitMQ以及redis综合起来运用,这个架构基本可以满足目前微服务高可用,实现数据最后一致性等大部分业务需求。现在就来配置说明一下1.配置中心服务在git或者开源中国上配置好yml文件或者properties文件,然后在在依赖到配置中心服务的其他服务配置好配置服务名,如下图CONFIG服务,环境为dev。2.配置起步依赖,在消费端以及生产端配置好消息队列的依赖以...原创 2018-12-17 22:46:59 · 489 阅读 · 0 评论 -
人工智能 人脸识别项目的改造
背景介绍:从之前的设计模块方面来思考,人工智能这个项目里面的上传功能应该如何完善成一个真正的微服务,之前的调用链是批量的上传功能依赖单张入库的功能,而这里的单张入库的功能是一个单独的服务,其实这里的单张入库的模块,需要进行改造。方案:把单张入库的模块进行改造,提取公共的模块,减少对象的冗余,以及避免数据库表对象的完全暴露,提高安全意识。从单张人脸特征入库的模块来分析,这个服务只要是依赖了算法的...原创 2018-12-16 18:24:55 · 402 阅读 · 0 评论 -
人工智能项目的前身springboot项目如何转为springcloud
基于springcloud的搭建的人工智能的版本上线之后,由于基于xml的maven管理,诸多不便,前身是开始结合gradle来解决jar的依赖问题,这里的gradle的安装参考这里,延展一下gradle的一篇博文,介绍了gradle的配置web,Android等工程的使用细节。本文开始从springboot的开始搭建人工智能项目到转到高可用的springcloud的架构。从0到1开始搭建上...原创 2018-12-26 23:32:36 · 5325 阅读 · 1 评论 -
springcloud 某科技公司单点项目转微服务(1)
前言:某科技的一个类似电商的系统,部署是使用war包的一个单体系统,使用的是8台服务器作为集群,数据库使用了oracle的双活处理,但是随着日活的增加,需要迁移到微服务架构,目前系统的日活是30万,目标支持日活5000万的微服务架构基于之前的微服务的应用个例,某个汽车应用领域的APP日活达到了5000万,因此,可以借鉴这个APP来转到微服务架构。系统抽取了基础层作为微服务,比如中间件的使用,如...原创 2018-12-20 15:19:13 · 275 阅读 · 0 评论 -
Dubbo与springcloud的取舍
从大环境来看,Dubbo是分布式架构比较成熟的体系,社群一直很火,在springcloud出现之前一直都是占据大部分的主要开发的主线,而Dubbo是就RPC开发,集成了对RPC框架的支持负载均衡,序列化传输,但是在链路跟踪相对于springcloud就有所不足,而springcloud目前是集成了所有微服务的组件,包括服务发现,服务注册,服务熔断,服务调用,链路跟踪等,而springcloud是基...原创 2018-12-14 16:35:59 · 247 阅读 · 0 评论 -
关于跟前端交换的技巧
提到跟前端交互,当然是在json格式的传输的基础上,因为接手过的项目也不少,接触了很多有趣的交互方式,在人工智能的项目组的时候,他们约定的是bodyHeader定义json格式的消息头,主要的带上appId用于在分布式系统里面做权限的校验以及session的共享,而这一个处理的过程都是基于Gson来处理的,先把数据从VO到Json的格式的Map的一系列的组装,非常的繁琐,大量冗余的代码,非常的不美...原创 2018-12-14 11:58:04 · 135 阅读 · 0 评论 -
秒枪法的开发模式
记得当时开发项目的时候由于自己太自信了,所有的单侧都没有就直接拉到项目的开发环境进行部署测试了,这个后果就可以想象得到肯定就得到了标题的评价了,使用IDEA开发的时候可以生成单侧用例快捷键 选中需要单侧的类,然后邮件选择Go To 选择 Test 就可以自动生成单侧用例然后引入相应的注解即可实现单侧,一个系统就这样通过一个一个的单侧来实现整体的功能...原创 2018-12-13 23:05:14 · 99 阅读 · 0 评论 -
人工智能 人脸识别 如何开展微服务
当项目确定好拆分的方向,是按照功能拆分,还是按照解耦来进行拆分的,这时候就会明白,需要实现的某个微服务的具体细节部分,比如说,现在需要实现一个消费捉拍机捉取到的图片进行入库的操作,这时候可能考虑到实际生产中的并发的问题,以及调用算法库进行人脸特征识别的过程,如果考虑到并发的消费问题,我推荐使用rabbitMQ来实现服务隔离以及错峰的功能,这是为了能让服务在rabbitMQ的幂等性下得到有效的缓冲对...原创 2018-12-13 22:40:05 · 447 阅读 · 0 评论 -
微服务如何合理的拆分
这个还是需要对某个领域很深刻的了解才能有所有体会首先必须对系统的功能非常的熟悉,这时候可以尝试按照功能来拆分微服务,如果对设计模式比赛熟悉,可以按照解耦这个角度来进行拆分,实际开发中,都是两者结合来进行拆分服务网的拆分还是需要根据团队的开发水平,以及对业务的理解,循序的演进的过程。...原创 2018-12-13 22:20:14 · 1414 阅读 · 0 评论 -
人工智能 人脸识别 微服务的理解
随着项目的扩大,针对项目里面的各个需求的不同,就会针对不同语言的需求,不然,天然支持高并发的Erlang语言的开发的微服务等,通过对系统的异构,达到针对不同的微服务,使用不同的消息队列,以及语言,以及数据库进行相应的处理。...原创 2018-12-13 21:57:26 · 363 阅读 · 0 评论 -
人工智能 --人脸识别 关于前端以及后端的聚合展示
从用户需求分析到后台开发过程中,需要多次与前端工作人员交互,需要提供哪些resful接口,然后,有些页面是需要用户两次甚至多次请求才能完成,这时候,就需要到前端做一个聚合的处理比如,在人脸特征展示的页面中,一部分的信息来自捉拍机的Controller层提供的接口,一部分来自人脸的Controller层提供的接口,这时候,就需要到前端对不同的服务之间提供的接口进行聚合,展示给用户。也就是说,用户只...原创 2018-12-13 20:09:10 · 2045 阅读 · 0 评论