微服务入门(2)

###我是菜鸡,以写作业来驱动我学习。大神勿喷###(项目是慕课网的)

 一、Zuul的功能大部分都是由过滤器实现的,你还可以定义怎样的过滤器实现你想要的功能呢?

   zuul的核心是一系列的filters, 其作用可以类比Servlet框架的Filter。

    Zuul 的功能:它是整个系统的入口,实现流量(路由)分发的功能。

  接口访问(频率,响应时间,请求元数据日志等)统计、401拦截、流量控制(重复提交、限流)。

二、如果要给系统接入用户模块,放在网关里面合适吗?

      权限控制就是对请求的拦截操作,放置在网关层面处理是合适的。有个前提,是接入了用户模块(用户与权限控制微服务)。请求都会带有用户信息,网关里面通过 Feign 调用用户微服务的功能,来判断请求是否继续下发或者直接拒绝。

      名字验证一般都是做成一个单独的服务,因为要更多的对数据库进行读写,可能会有些时间消耗,不适合做在过滤器里面。

      通常,我们在做身份验证的话,都会自己写一个服务(用户和权限服务),即一个单独的服务。这里主要考虑的是服务之间不要存在耦合,剥离各个微服务独立的功能。之后,由这个微服务给网关提供接口,在网关中对用户身份和权限进行验证。这里的思想是:请求尽量在入口做判断,是否要向下传递,对于像权限这种,不满足直接在网关拦截,而不要下放到具体的功能型微服务中。

三、为什么响应对象需要统一格式

       降低前后端分离开发的难度,前后端约定好的code作出响应的处理 ,便于后端人员排查问题 

       1. 与前端和客户端保持统一,拥有统一的结构,方便前端和客户端的统一处理,特别是在程序出错的情况下,可以直接显示错误信息。
        2. 日志结构的统一,我们经常会把程序的响应以日志的形式打印出来。所以响应是统一的,日志的结构也能够保持统一。

四、除了通用的AdException,你可能还会设计哪些自定义异常类呢?这样设计的理由是?

          自定义异常是需要细化到具体的业务的,但是只有当你的某一块业务足够大(或者简单的说就是代码比较多)才需要自定义异常。比如代码中有很多处理推广计划的地方,就可以定义 AdPlanException;代码中处理 MySQL Binlog 的部分很多,就可以定义 MySQLBinlogException 等等。

_____________________________________________________________________________________________________

 广告投放系统的 核心功能:
对广告数据进行增删改查,即能让用户(广告主/代理商)对数据进行查看、上传、修改与删除

 1.你可能会对广告数据的各个要素做什么样的修改或扩展呢?为什么这样做?

        例如:在推广单元表中加入 cost 字段,定时填充当前的推广单元已经消费的金额;对创意表添加新的创意类型,可以适用于形式更加特殊的广告展示等等。
2.推广单元的维度限制还可以添加哪些呢?

        推广单元的维度限制还可以添加:人群的年龄范围(针对不同年龄段的人群去推送不一样的广告),人群的工作性质,人群的性别等去扩展,可以实现定点投放广告,类似的还有 LBS (基于人群的位置)定向等等。
3.如果你当前正在做广告相关的业务系统,能不能结合你的业务场景对投放系统做扩展呢

       (1)添加权限系统,对于任何系统而言,权限都是必须要控制的,那么,怎样给投放系统(或者整个广告系统)添加权限呢?放在哪个模块里面做是比较合适的,可以思考。

        (2)添加报表系统,定时(例如每8个小时,每天等等)给出投放系统各个广告主的投放数据,展示并分析当前广告主的投放意向等等。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值