小编mfr*_*het的帖子

Docker,它是什么,目的是什么

我几天前听说过Docker,想过去.

但事实上,我不知道这个"容器"的目的是什么?

什么是容器?

它可以取代专用于开发的虚拟机吗?

简单来说,在公司中使用Docker的目的是什么?主要优势?

docker

90
推荐指数
4
解决办法
3万
查看次数

对角度的脏检查

我正在阅读一些文章,以了解更多angular.js的工作原理.

我不理解的一个术语是" 脏检查 ".

究竟是什么?它似乎是一个观察者模式,但显然它更好.

你能帮我理解一下吗?

提前致谢.

编辑:它也可以对谁想要了解更多有关观看的人有用的这段视频swiip在NgEurope一些年前

javascript observer-pattern angularjs

53
推荐指数
3
解决办法
4万
查看次数

无法找到主类:bootRepackage

我的gradle构建存在问题.我使用Spring网站(https://spring.io/guides/gs/rest-service/)提出的标准,但是当我尝试使用gradle build时,我收到了这个错误:

我的gradle问题

它不适用于这个gradle,但是当我使用另一个(我在学校时使用的)它完美地工作.

java rest spring gradle spring-boot

31
推荐指数
4
解决办法
5万
查看次数

微服务认证

上下文

我有多种服务,如:

  • 用户(LDAP或活动目录等...)
  • 开票
  • 规划
  • 等等...
  • 认证

我需要连接我的微服务使用OAuth2.0,开始使用标准登录/密码(我使用自己的数据,而不是gettint第三个腿服务器)

问题

根据这些图片:

步骤1

在此输入图像描述

第2步

在此输入图像描述

如何在authmicroservice之外的其他服务中处理access_token控制或授权控制?

rest microservices

18
推荐指数
2
解决办法
6297
查看次数

微服务,服务注册,API网关和数据共享

我实际上正在阅读有关微服务架构的文章,但似乎他们正在以最简单的方式处理事情,而不是更深入地解释.

为了向您解释我的问题,我将向您展示我的实际小建筑:

在此输入图像描述

所以,这就是我想要使用的.在技​​术上做任何事之前,我需要更多的理论信息.

我的域名的描述

我有一些基于移动和浏览器的客户,能够在应用程序上连接自己,获取用户信息并能够查询有关他们购买的产品的账单信息.

在单片应用程序中,我将使用这种架构: - 具有Mobile/Angular-Ember的表示层 - 带有NGINX的REST API的业务层 - 带有标准MySQL数据库的DAL - 可扩展性仅适用于X轴

在这种情况下,我想使用微服务架构,因为它是"域可扩展的"并且非常灵活(当然要学习更多关于它的内容).

在架构上,在每个服务中,都有相关API公开的唯一HTTP URL.

问题

a /在(1)flux中,"mobile"在http://myDomain.or/auth上发送http请求.

在我看来,APIGateway能够要求标准的服务注册表(Eureka,ZooKeeper或其他东西)能够找到AuthSrv是否可访问并且可以检索他的网络地址.然后ApiGateway可以请求AuthSrv并响应服务器

这是一个让它运作的好方法吗?处理X机器访问数据时是否存在延迟问题?

b / flux(2)咨询服务注册表.服务注册表如何理解/ auth上的每个请求,甚至在/ auth/other之类的子URL上(如果它被暴露)与此地址ip:port上的此服务相关?

c / flux(3)显示服务注册表具有可用的AuthSrv.(3之二)显示另一个:没有AuthSrv可用.在一个小应用程序中,我们可以承认我们失去了一段时间的可用性,但在一个大型系统中,有数百个服务链接在一起,我们如何处理服务缺陷?

d /在另一篇文章中,我询问如何存储结算信息,因为它与用户,其他服务和另一个数据库相关.

在标准架构中,我会:

{
   billingInformations:{...},
   billingUser:ObjectId("userId")
}
Run Code Online (Sandbox Code Playgroud)

在微服务架构中,有人建议使用:

{
    billingInformations:{...},
    billingUser:"/user/12365" // URL corresponding the the user Resource in the other service
}
Run Code Online (Sandbox Code Playgroud)

这是处理"服务数据共享"而不是耦合服务的最佳方式吗?

e /在这种特定情况下,我应该何时更喜欢使用AMQP协议而不是HTTP协议?

谢谢你提前

java rest web-services microservices

16
推荐指数
1
解决办法
4381
查看次数

使用nodejs创建OAuth2服务器

我实际上正在研究REST Apis安全性,似乎很多人都在使用OAuth2和OpenId协议来管理身份验证.

我尝试使用以下方法实现两个OAuth2服务器:

对于第一个解决方案,运行示例工作正常但我需要做一些无状态(在示例中作者使用会话...)

你能帮我创建最简单的oauth2服务器,或默认向我解释这些库的整个功能吗?

谢谢你提前

oauth node.js

13
推荐指数
1
解决办法
2万
查看次数

微服务架构,在这种情况下是什么服务

我正在阅读一些关于微服务架构的文档(例如通过 这个链接),我想知道在这种情况下究竟是什么服务.

在IT中,一切都可以称为服务: - 通过java命令启动的SPRING REST应用程序,如:

java -jar build/libs/gs-rest-service-0.1.0.jar

  • 它也可以是与DDD中的业务层对应的类
  • 它可能只是与所研究的领域相关的东西,比如向某人提供某些东西
  • 和许多其他......(android后台运行服务等...)

但在微服务中,它意味着什么?例如,在Java EE堆栈中使用什么样的技术/工具来创建"自己运行的服务"?它只与webservices有关?

java rest web-services microservices

11
推荐指数
1
解决办法
4514
查看次数

使用logstash和elasticseach

我实际上使用node-bunyan通过elasticsearch和logstash管理日志信息,我遇到了问题.

事实上,我的日志文件有一些信息,并在我需要它时填充.

问题是弹性搜索没有找到任何东西

http:// localhost:9200/logstash-*/

我有一个空对象,因此,我无法将我的日志传递给kibana.

这是我的logstash conf文件:

input {
    file {
        type => "nextgen-app"
        path => [ "F:\NextGen-dev\RestApi\app\logs\*.log" ]
        codec => "json"
    }   
}

output {

  elasticsearch {
 host => "localhost"
 protocol => "http"
 }

}
Run Code Online (Sandbox Code Playgroud)

我的js代码:

log = bunyan.createLogger({
      name: 'myapp',
      streams: [
        {
          level: 'info',
          path: './app/logs/nextgen-info-log.log'
        },
        {
          level: 'error',
          path: './app/logs/nextgen-error-log.log'
        }
      ]
    })

router.all('*', (req, res, next)=>
      log.info(req.url)
      log.info(req.method)
      next()
    )
Run Code Online (Sandbox Code Playgroud)

注意:日志写在日志文件中.问题出在logstash和elasticsearch之间: - /

编辑:查询http:// localhost:9200/logstash-*/给我"{}"一个空的JSON对象感谢提前

javascript node.js elasticsearch logstash

10
推荐指数
1
解决办法
736
查看次数

TypeScript 1.5,反射和装饰器

我想知道是否可以使用反射,更具体地说是关于装饰器,属性,参数或方法的类反射?

这是否可以使用反射器来获取装饰器中使用的信息?

如果有可能,我们该怎么做?另外,为什么我们不能这样做?

编辑:

我有一个应用程序,我使用装饰器,从serviceRegistry注入数据到名为@Inject的装饰器.

在这个应用程序中,我手动填写一个简单的服务注册表,如:

serviceRegistry.push(MyClass1)
serviceRegistry.push(MyClass2)
...
serviceRegistry.push(MyClass100)
Run Code Online (Sandbox Code Playgroud)

目的是能够在运行时使用@ToInject批注修饰的类填充此服务注册表.

这将允许我避免手动填写此注册表,并简单地自动完成此操作.

提前谢谢

typescript typescript1.5

9
推荐指数
1
解决办法
6294
查看次数

多次运行相同的docker镜像

当我多次运行相同的图像(已经在本地拉动)时,我想知道发生了什么?

它每次都运行dockerfile吗?(表示docker文件中的每个命令)

是否重新运行(重新启动)相关容器?

docker

8
推荐指数
1
解决办法
3791
查看次数