• .NetCore 微服务技术栈


    微服务架构是什么?
    是一个用分布式服务拆分业务逻辑,完成解耦的架构模式。
    通过将功能分解到各个离散的服务中以实现对解决方案的解耦。

    是将一个大型的单个应用程序和服务拆分成为数个甚至数十个的支持微服务,他
    可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。

    .NetCore 微服务技术栈

    1、webapi 网关:Ocelot
    路由、服务聚合、服务发现、认证、鉴权、限流、熔断、缓存、Header头传递等

    2、弹性和瞬态故障处理库
    Polly
    允许开发人员以顺畅及线程安全的方式执行重试(Retry),断路器(Circuit),超时(Timeout),隔板隔离(Bulkhead Isolation)及后背策略(Fallback)。

    3、在线调试WebApi
    Swagger

    4、分布式缓存,消息队列
    Redis,ActiveMQ,Kafka等

    5、全文检索
    基于Lucene的框架
    1.Apache Solr
    Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。
    2.Elastic Search
    ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。

    6、zookeeper

    分布式:用更多的服务器来完成任务。
    分布是锁,数据一致性,分布式事务
    分区容错:断网,延迟

    redis:
    setnx(key,value)获取锁
    expire为锁添加超时时间
    delete(key)释放锁

    consul/etcd
    zookeeper

    public Nullable<int> LastModifierId(get;set;) 默认值为null
    publiic DateTime? lastModifyTime {get;set;} 时间为null

  • 相关阅读:
    C#使用二叉树算法设计一个无限分级的树表
    程序员写博客这件小事
    jqgrid定义多选操作
    jqgrid如何在一个页面点击按钮后,传递参数到新页面
    MVC 移除复数表名的契约
    [技术分享] .NET下 , 上传图片的处理方式 , 贴上代码 .
    Web应用程序项目以配置使用IIS。未找到Web服务器
    MVC5关联表读取相关表数据
    【转】C# Linq 交集、并集、差集、去重
    .NET MVC3中扩展一个HtmlHelper方法CheckBoxList
  • 原文地址:https://www.cnblogs.com/csj007523/p/12637386.html
Copyright © 2020-2023  润新知